前情回顾:
- 预告:“Steem 和 R 语言:跟大鹏学 R 语言”连载即将开始
- Steem 和 R 语言:跟大鹏学 R 语言(1)下载安装
- Steem 和 R 语言:跟大鹏学 R 语言(2)简单计算
- Steem 和 R 语言:跟大鹏学 R 语言(3)变量和向量
- Steem 和 R 语言:跟大鹏学 R 语言(4)作图和统计
- Steem 和 R 语言:跟大鹏学 R 语言(5)表白
本文选自《学 R:零基础学习 R 语言》(研究出版社,大鹏、李怡著,2018)第二章,有改动。
在前几篇帖子里,我们学会了用R进行常规的数学运算和统计计算,并且做出了三张图:大气二氧化碳浓度时间序列,降水的季节变化图,北京的 PM2.5 日变化图。好像已经把R语言学完了。只是,总不能每次都把数据一个一个敲到代码里吧,也不能只使用R自带的数据自娱自乐吧。要是处理你自己文件里的大量数据呢?下面就解决这个问题。
本书里我们会使用示例数据,方便你跟我们同步操作。示例数据文件可以请R来自动生成。运行下面这两行命令:
dir.create('c:/r4r')
write.csv(as.data.frame(t(matrix(co2, 12, dimnames = list(month.abb, unique(floor(time(co2))))))), file = 'c:/r4r/co2.csv')
将来我们会解释这两条代码的含义,现在你大可略去,只管去c盘找到一个名叫r4r文件夹,里面有个名叫co2.csv的文件。这就是我们做示范的示例数据文件,你就当作是从我们的光盘上拷贝过来的吧。请在学习本书的过程中保留“c:/r4r”这个文件夹,我们在后续章节所做的示范都要用到它。
请用Excel或记事本打开co2.csv这个文件。这是个数据表,内容是1959年1月到1997年12月夏威夷Mauna Loa观测站的大气二氧化碳浓度,以年份为行,以月份为列。不要做任何修改,我们现在假定这是你即将处理的数据文件,看看如何对其中的数据进行操作。
2.1 输入:读取文件
读取文件,就是让R把数据读进R的脑子里。
如果你喜欢拷贝粘贴的方式,那么可以用 Excel 打开数据文件 co2.csv ,用鼠标选中全部数据区(ctrl+a),拷贝,然后在 R 中用下面的代码读取剪切板里的数据(试一下“tab小助理”。以后每个长命令都用一下,养成习惯):
mydata1 <- read.table(file = "clipboard", header = TRUE)
这条指令的含义是:读取剪切板里的数据,保存到mydata1这个数据框变量里。header = TRUE
翻译过来就是“文件头是真有啊“,意思是数据表的第一行是列名称。
这时,注意观察RStudio的 右上窗,出现了 mydata1 的信息。鼠标单击可以查看内容,也可以用输入代码并运行:
mydata1
## X Jan Feb Mar Apr May Jun Jul
## 1 1959 315.42 316.31 316.50 317.56 318.13 318.00 316.39
## 2 1960 316.27 316.81 317.42 318.87 319.87 319.43 318.01
## 3 1961 316.73 317.54 318.38 319.31 320.42 319.61 318.42
## 4 1962 317.78 318.40 319.53 320.42 320.85 320.45 319.45
## 5 1963 318.58 318.92 319.70 321.22 322.08 321.31 319.58
## 6 1964 319.41 320.07 320.74 321.40 322.06 321.73 320.27
## ......
## 38 1996 362.09 363.29 364.06 364.76 365.45 365.01 363.70
## 39 1997 363.23 364.06 364.61 366.40 366.84 365.68 364.52
好了,读取数据就是这么简单。如果这已经满足你的需求,那么下一篇帖子就可以不看了。不过,我们建议你耐心读完下一篇帖子。因为,用拷贝粘贴的方式读取数据,优点是简单灵活易上手,适合临时用一下;缺点是重复性差,下回你可能忘了上次拷贝的是哪个区域的数据,这不是 R 的做事风格。更多情况下,我们要告诉R,数据文件保存在哪里,只需把上面命令的剪切板clipboard
换成数据文件的路径即可。
下一篇里,我们将详细介绍这种方法。