Day5-数据结构
R语言中的帮助功能
在有疑问的指令前面输入?
即可
如:?read.table
向量
元素
元素:数字或字符串(chr)
标量和向量
标量:一个元素组成的变量
向量:多个元素组成的变量
向量的赋值
x<- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x<- 1:10 #从1-10之间所有的整数
x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x<- rep(1:3,times=2) #1-3 重复2次
查看变量
右上角Enviroment栏
点击变量名或用
View(函数名)
指令可查看详细信息提取向量中的元素
x[4] #x第4个元素
x[-4] #除了第4个元素之外的元素
x[2:4] #第2到4个元素
x[-(2:4)] #除了第2-4个元素之外的元素
x[c(1,5)] #第1个和第5个元素
x[x==10] #x中等于10的元素
x[x<0] #x中小于0的元素
x[x %in% c(1,2,5)] #x中存在于向量c(1,2,5)中的元素
数据框
读取本地数据
read.table(file = ".txt", sep = "\t", header =T)
注:
seq 参数:用来指定字符的分隔符号,csv 文件是用逗号分隔的,故而 sep = ",";tsv 文件是用制表符分隔的,故而 sep = "\t";常用的分隔符还有空格 sep = " "。分隔符是任意的,可根据具体情况指定的
header 参数:true则表格第一行用于列名称,具体数据从第二行开始;false则第一行即为具体数据
设置行名和列名
X<-read.csv('.txt') #赋值数据框
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号
colnames(X)[1]<-"names" #如果左上角第一格为空,R会自动补为x,可以用这个命令来修改
X<-read.csv(file = ".txt",sep = " ",header =T,row.names=1) #最后row.names的意思是修改第一列为行名
数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F) #分隔符改为逗号,quote=F表示字符串不加双引号(默认格式带由双引号)
变量的保存与重新加载
save.image(file="bioinfoplanet.RData") #保存当前所有变量为一个RData文件
save(X,file="test.RData") #保存某个变量
load("test.RData") #再次使用RData时的加载命令
提取数据框中的元素
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$列名 #也可以提取列(只能提取一列)
直接使用数据框中的变量
例:
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(a$case,a$values)
使用提取指令可以直接使用数据框中的变量
脚本的保存
将代码复制到脚本框的新建文件中,点保存即可保存为R文件
作业:
save(X,file="test.RData")如果报错object X not found,是为什么,应该怎么解决?
是因为没有定义X这个变量,如果用<-给X赋值了就可以保存,注意区分大小写