一、R语言入门推荐
- 推荐四本材料书:
R CookBook :hhtp://www.cookbook-r.com/R in Action http://www.amazon.com/R-Action-Robert-Kabaccoff/dp/1935182390Ggplot2:Elegant Graphics for Data Analysis(User R):hhtp://www.amazon.com/ggplot2-ELegant-Graphics-Data-Analysis/dp/0387981403Advanced R
- 安装ggploat2,用于数据可视化,适用于一些画图。 install.packages(‘ggploat2’)
- 加载ggploat2,liabrary(‘ggplot2’)
- 更新,update.packages()
练习源码:
install.packages('ggplot2')
library(ggplot2)
update.packages()v = c(1,4,4,3,2,2,3)
v[c(2,3,4)]
v[2:4]
v[c(2,4,3)]
v[-2]
v[-2:-4]
v[v<3]
which(v==3)
set.seed(250)
a = runif(3, min=0, max=100)
floor(a) #向下保留整数的函数
ceiling(a) #向上保留整数的函数
round(a,4) #保留四位小数
R提供了大量的帮助功能,学会如何使用这些帮助文档可以在相当程度上助力你的编程工作。 R的内置帮助系统提供了当前已安装包中所有函数①的细节、参考文献以及使用示例。帮助文档可 以通过表1-2中列出的函数进行查看。
函数help.start()会打开一个浏览器窗口,我们可在其中查看入门和高级的帮助手册、常 见问题集,以及参考材料。函数RSiteSearch()可在在线帮助手册和R-Help邮件列表的讨论存 档中搜索指定主题,并在浏览器中返回结果。由函数vignette()函数返回的vignette文档一般是 PDF格式的实用介绍性文章。
三、了解工作空间
工作空间(workspace)就是当前R的工作环境,它储存着所有用户定义的对象(向量、矩阵、 函数、数据框、列表)。在一个R会话结束时,你可以将当前工作空间保存到一个镜像中,并在下 次启动R时自动载入它。各种命令可在R命令行中交互式地输入。使用上下方向键查看已输入命 令的历史记录。这样我们就可以选择一个之前输入过的命令并适当修改,最后按回车重新执行它。
当前的工作目录(working directory)是R用来读取文件和保存结果的默认目录。我们可以使 用函数getwd()来查看当前的工作目录,或使用函数setwd()设定当前的工作目录。如果需要读 入一个不在当前工作目录下的文件,则需在调用语句中写明完整的路径。记得使用引号闭合这些 目录名和文件名。
1、 建立一个R语言学习的工作空间
首先自己建立一个文件夹,用来存放你的R工程项目目录。
建立 : G:\RWorkSpace\project1
setwd("G:/RWorkSpace/project1")
options()
options(digits = 3)
x<-runif(20)
summary(x)
hist(x)
savehistory()
save.image()
q()
首先,当前工作目录被设置为C:/myprojects/project1,当前的选项设置情况将显示出来,而 数字将被格式化,显示为具有小数点后三位有效数字的格式。然后,我们创建了一个包含20个均 匀分布随机变量的向量,生成了此数据的摘要统计量和直方图。最后,命令的历史记录保存到文 件.Rhistory中,工作空间(包含向量x)保存到文件.RData中,会话结束。 注意setwd()命令的路径中使用了正斜杠。R将反斜杠(\)作为一个转义符。即使在Windows 平台上运行R,在路径中也要使用正斜杠。同时注意,函数setwd()不会自动创建一个不存在的 目录。如果必要的话,可以使用函数dir.create()来创建新目录,然后使用setwd()将工作目 录指向这个新目录。 在独立的目录中保存项目是一个好主意。我通常会在启动一个R会话时使用setwd()命令指 定到某一个项目的路径,后接不加选项的load()命令。这样做可以让我从上一次会话结束的地 方重新开始,并保证各个项目之间的数据和设置互不干扰。在Windows和Mac OS X平台上就更简单了。跳转到项目所在目录并双击保存的镜像文件即可。这样做可以启动R,载入保存的工作空 间,并设置当前工作目录到这个文件夹中。
四、输入输出
启动R后将默认开始一个交互式的会话,从键盘接受输入并从屏幕进行输出。不过你也可以 处理写在一个脚本文件(一个包含了R语句的文件)中的命令集并直接将结果输出到多类目标中。
1. 输入 函数source("filename")可在当前会话中执行一个脚本。如果文件名中不包含路径,R将 假设此脚本在当前工作目录中。举例来说,source("myscript.R")将执行包含在文件 myscript.R中的R语句集合。依照惯例,脚本文件以.R作为扩展名,不过这并不是必需的。
2. 文本输出 函数sink("filename")将输出重定向到文件filename中。默认情况下,如果文件已经存 在,则它的内容将被覆盖。使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它。 参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将仅向屏幕 返回输出结果。
3. 图形输出 虽然sink()可以重定向文本输出,但它对图形输出没有影响。要重定向图形输出,使用 列出的函数即可。最后使用dev.off()将输出返回到终端。