命令——subset
1 | > attach(Puromycin) |
DateFrame增加新变量
方法一
1 | # 基本方法 |
方法二
1 | # 使用with()函数 |
方法三
1 | # 使用transform函数,可以一次性定义多个变量 |
命令——ts
1 | # 例一 |
1 | # 例二 |
1 | # 例三 |
1 | > ts(matrix(rpois(36, 5), 12, 3), start=c(1961,1), frequency=12) |
数据的存储与读取
命令getwd()
获得工作目录,setwd()
设置工作目录。
R命令中目录的分隔符使用正斜杠“/”或两个反斜杠“\”。
数据储存
1 | > d = date.frame(obs = c(1, 2, 3), treat = c("A", "B", "A" ), |
数据读取
可以使用read.table()
、scan()
、readfwf()
函数读入存储在文本文件中的数据。
1 | # read.table 读入数据并创建一个数据框 |
1 | # read.table有四个变形 |
1 | # 使用函数scan(),它比read.table()更加灵活,唯一的区别是scan()可以指定变量的类型 |
1 | # 使用函数read.fwf(),它可以用来读取文件中一些固定宽度格式的数据。 |
1 | # 读取剪切板上的数据 |
1 | # 读取excel文件,需要RODBC包支持,易出错,不建议使用。 |
R中数据的读取
R的标准数据datasets
R提供了一个基本的数据集包,包含了数百个数据集(一般为数据框或列表)。它们随着R的启动全部一次性自动载入,通过data()
命令可以列出这些数据集。使用help函数可以查看相关信息。
专有程序包中的数据集
data(package="pkname")
可以列出pkname
包中所有的数据集。
可以看出data()
有两个功能:浏览数据列表和加载数据集。可以浏览的不一定已经加载。
R格式的数据
R的数据或更为一般的对象可以通过save()
保存起来,文件名以Rdata为后缀。
1 | > attach(mtcars) |
R基本绘图
R提供了丰富的绘图功能,我们可以通过R提供的示例进行了解。
1 | # 二维图形示例 |
一个实例
以内嵌数据Puromycin为例来说明R中基本的绘图方法
1 | > dim(Puromycin) |
循环与向量化
循环——for,while,repeat
1 | # 比较下面三种方法 |
向量化
在R中,很多情况循环和控制可以通过向量化避免(简化):向量化使得循环隐含在表达式中。
在实际的编程时,如果能将一组命令向量化,则尽量使用以避免循环,原因在于
- 代码更简洁
- R是解释语言,速度慢
- 在R中使用向量化会立即调用C进行运算,大大加快速度
1 | # 一个例子, 如果x元素为偶数,y对应元素为0,否则为1 |
1 | # 我们来计算上述命令使用的时间 |
Time difference of 4.350443 secs
1 | # 使用向量化 |
Time difference of 0.6400709 secs