学习资源来自生信星球
向量
向量vector是一维结构,要求所有元素都是同一数据类型(字符/数值/逻辑)
1、向量赋值
代码语言:javascript复制x<- c(1,2,3) #最常用
x<- 1:10 #1 2 3 …… 10
x<- seq(1,10,by = 0.5) #数列,1 1.5 2 2.5 …… 9.5 10
x<- rep(1:3,times=2) #重复,1 2 3 1 2 3
2、向量元素提取
根据位置提取
代码语言:javascript复制x[2] #提取第2个元素
x[-4] #排除法
x[2:4] #提取第2到4个元素
x[-(2:4)] #除了第2-4个元素
x[c(1,5)] #提取第1个和第5个元素
根据元素值提取
代码语言:javascript复制x[x==10] #提取等于10的元素;==才是判断是否等于,=是赋值简写
x[x<0] #提取小于0的元素
x[x %in% c(1,2,5)] #%in%很重要!提取存在于向量c(1,2,5)中的元素
数据框
数据框data.frame是二维结构,要求每一列为同一数据类型(而矩阵matrix同为二级结构,要求所有列都为同一数据类型)
1、读取本地表格,数据框赋值
代码语言:javascript复制read.table(file = 'huahua.txt',header = T,sep = 't') #文件名要加引号
探 2:参数header和sep的含义? ① header = T,即第一行为列名; ②sep为分隔符:sep = " ",即分隔符为空格;sep = ",",即分隔符为逗号;sep = "t",即分隔符为tab。 ③注意:如参数为默认值,就不需要列举重复写。
2、查看行名列名、行数列数
代码语言:javascript复制rownames(a) #行名,row;默认值的行名就是行号,1 2 3 4...
colnames(a) #列名,column
dim(a) #几行几列,dimension
nrow(a) #行数
ncol(a) #列数
3、提取数据框元素
代码语言:javascript复制a$X1 #提取单列最优选,tab可自动填充
a[x,y] #第x行第y列,提取单个元素
a[x,] #第x行,提取整行
a[,y] #第y列,提取整列
a[y] #第y列☆同上
a[a:b] #第a列到第b列
a[c(a,b)] #第a列和第b列
4、导出数据框
代码语言:javascript复制write.table(a,file = "yu.txt",sep = ",",quote=F) #quote:双引号(默认为T)
5、保存变量 & 重新加载!!!☆
代码语言:javascript复制这次没有处理完的数据下次想接着用怎么办?--一定要学会保存和重新加载。变量的保存格式是RData;脚本的保存格式是R。
save.image(file="bioinfoplanet.RData") #保存当前所有变量
save(a,file="test.RData") #保存其中一个变量
load("test.RData") #再次使用RData时的加载命令
表白小洁老师!嘿嘿