因为深感生统的节奏比较快,可能女票跟不上节奏,所以写了一个简略的manual,只针对生统的一些相关操作,不涉及高深的R操作。如果大家觉得还要加什么东西,可以在下面留言。
前期准备
- 语言问题:
对于 R 或者 R studio来说,我非常建议把语言更改成英文。这样,在你报错的时候,比较方便去搜索
- 工作路径:
对于有R studio的来说,频繁地切换 setwd
和 getwd
可能不是一个很好的选择。所以我比较推荐新建一个Project,这样你每次你的任务都会是独立的。新建完Project之后你就可以把作业相关的数据放在你的Project里面。在后面读取的时候,就不用切换 setwd
或者打一大串目录了。
- 保存问题:
我比较推荐的是在Tools-Global Options—General那里,将Save Worksapce to .RData on exit那里设置为Never。这可能会导致你每次打开你的Project,变量都还得重新打一遍。但这可以保证你的代码的可重复性。
- 镜像及安装问题:
生统课上的如果包都很小,所以镜像设置其实是无所谓的。
如果想安装某个包的话,使用如下代码
## 以安装pwr包为例,注意加引号
#install.packages("pwr")
数据读取
生统课上用到的文件一般给的都是 txt 或者 csv 文件,这意味一般着只需要使用 read.table
这个命令来读取文件就可以了。
让我们先来看一下read.table这个函数怎么用。
?read.table
不懂的时候寻求谷歌或者?+命令,是一个很好的习惯
你会发现read.table()里面跟了一大堆东西,其中跟我们可能相关的是
- file:代表你要读的文件路径
- header:表达你是否要添加表头,默认值是FALSE,我们一般要设置为TRUE
- sep:sep代表是你用什么样的形式来分割你读取的文件,一般生统的文件可能会以空格,制表符,逗号来分割。分别对应
sep = " ",sep = ",",sep = "\t"
我们来尝试读一个文件
test1 <- read.table("rawdata/test1.txt",header = T)
head(test1)
## yield seed
## 1 383 1
## 2 406 1
## 3 351 1
## 4 400 1
## 5 390 1
## 6 361 1
这里我们用了 header = T ,这样我们的数据就会有表头,或者说列名了。即 yield 和 seed。
TRUE和T是等价的,同理FALSE和F也是等价的。
csv是本质上是用逗号分割的文件,所以我们在读的时候加上
sep = ","
即可。head代表的是你只输出你数据的前几行。同理,tail输出后几行。
再次提醒一遍,感觉不懂命令是什么时候用
?
或者谷歌。你还可以用row.names=1,来将第一列当作行名。