R语言实操函数之数据过滤——为教学做积累
#过滤表达量为0超过50%的行名(基因)
data2 <- data[rowSums(data == 0) < 0.5 * ncol(data),]
#过滤重复行名(基因),只保留第一次出现的行名(基因)
data2 <- data[!duplicated(rownames(data),)]
#过滤重复基因,重复的基因取平均值
library(limma)
data2 <- avereps(data)
#过滤data文件中Var列中空值的行
data2 <- data[!(is.na(data$Var)),]
#过滤data文件中空值的行
data2 <- na.omit(data)
#删除第一列
data2 <- data[,-1]
#删除第一行
data2 <- data[-1,]
#删除data文件第一列中含义"factor1","factor3","factor3"函数的行
data2 <- data[-which(data[,1]) %in% c("factor1","factor3","factor3"),]
#如列表包含分组信息以下划线分割
#例如sample1_control sample2_control sample3_case sample4_case
#将data的列名按_分割为2两部分,第二部分被定义为group
group=gsub("(.*)\\_(.*)", "\\2", colnames(data))
#将data文件与group文件上下合并,注意group文件在上面
data=rbind(group,data)
#将data文件行列转置,这一步将group从行名变成了列名,操作后在第一列
data=t(data)
#data文件group列为case的行被提取,并被赋值给data
data <- data[(data[,"group"]=="case"),]
#将data文件行列转置,这一步将group从列名又变成了行名,操作后在第一行
data=t(data)
#删除第一行,此时group列被删除,data文件变成了列名下划线后方为case的样本,例如sample4_case
data=data[-1,]