Day5 R语言初上手 续 2020-2-18
1. 向量
1) 向量 vs. 标量
元素:数字或者字符串(用chr表示)等
标量:一个元素组成的变量
向量:多个元素组成的变量 (可作为数据框的一列)
2) 从向量中提取元素
a. 根据元素位置
b. 根据值
2. 数据框
1) 读取本地数据
⚠️将数据放在工作目录下,否则报错!
read.table(file = "name.txt",sep = " ",header =T) #读取文件,分隔符为Tab,有表头
【无需赋值,可直接将数据框内容打印到屏幕上】
a<-read.table(file = "name.txt",sep = "\\t",header =T)#把这个数据框赋给一个变量a
【sep:分隔符,header:表头】
2) 设置行名和列名
X<-read.csv('name.txt')
【注意这里的变量X是一个数据框】
colnames(X)
【查看列名】
rownames(X)
【查看行名,默认值的行名就是行号,1.2.3.4...】
colnames(X)[1]<-"bioplanet"
【有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改】
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
【最后row.names的意思是修改第一列为行名】
3) 数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
【分隔符改为逗号,字符串不加双引号(默认格式带由双引号)】
4) 变量的保存与重新加载
❓这次没有处理完的数据下次想接着用怎么办?
学会保存和重新加载。保存的格式是RData。
save.image(file="bioinfoplanet.RData")
【保存当前所有变量】
save(X,file="test.RData")
【保存其中一个变量】load("test.RData")
【再次使用RData时的加载命令】
5) 提取元素
X[x,y]
#第x行第y列
X[x,]
#第x行
X[,y]
#第y列
X[y]
#也是第y列
X[a:b]
#第a列到第b列
X[c(a,b)]
#第a列和第b列
X$列名
#也可以提取列(优秀写法,不过只能提取一列)
附上练习(手打能帮助理解含义)
6) 直接使用数据框中的变量
提取某两列作散点图:
一般操作:
a <-data.frame(case=paste("S",c(1:50)),values=runif(50)) plot(a$case,a$values)
【case和values是两个单纯的列名;数据框名a在代码中重复出现,较长时比较麻烦】
更便捷的操作:
- attach
将数据框名添加到搜索环境中:attach(a),作图时就只需输入列名(连$都不用了)。
attach(a)
plot(case,values)
做完后将a删除出搜索环境detach(a)
【局限性:两个以上数据框的列名有冲突时,同时attach会报错。】
- with
➡️【先理解with(a,{plot(case,values)})
】
➡️【尝试脚本的书写与保存】
将上面的代码手打到一个新的R脚本中,然后保存到工作目录下,脚本文件的后缀就是R,用时直接打开就好。
练习
小作业
问题:save(X,file="test.RData")
这句代码如果报错X not found,是为什么,应该怎么解决?
:当前环境下没有定义X这个变量,所以无法保存。