R语言-均值合并多个探针对应一个基因

Python017

R语言-均值合并多个探针对应一个基因,第1张

数据框:mRNA; 基因名列:Symbol(在该数据框最后一列);

results = t(sapply(split(mRNA,mRNA$Symbol),function(x) colMeans(x[,1:(ncol(x)-1)])))

在基因芯片数据或其他类型数据中,采用计算所有样本的平均值从而进行填充,如果需要用中位数或其他统计量填充时只需修改相应的方法即可

#1. 检查是否有缺失值

which(is.na(mRNA),arr.ind = T)

#2. 计算行均值并填充

#该数据中探针(基因)为行(名),样本为列(名),(数据框内容为表达量数据值型数据数据)格式可见文章最后

row_mean <- apply(mRNA,1,mean,na.rm =T) #1是行,2是列,若用其他方法修改mean即可

mRNA$MEAN <- row_mean

ncol = 样本数

for (i in 1:nrow(mRNA)) {

  mRNA[i,is.na(mRNA[i,])] <- mRNA[i,ncol]

}