#加载limma包
library(limma)
#生成一个表达矩阵
df=matrix(1:20,nrow=4)
#设置行名,基因名字
rownames(df)=paste0("gene",c(1,1,2,3))
#设置列名,样本名字
colnames(df)=paste0("sample",1:5)
#对相同的基因的表达取平均
result=avereps(df)
result
通过avereps取完平均之后的矩阵如下
我们也可以使用☞ 表达谱数据中相同基因如何处理中讲到的aggregate函数来处理这个矩阵得到相同的结果。
#使用aggregate函数
#将基因名字添加到数据框中
df1=data.frame(gene=rownames(df),df)
#使用aggregate函数取平均
result1=aggregate(.~gene,df1,mean)
#设置行名,并删掉gene名字这一列
rownames(result1)=result1$gene
result2=result1[,-1]
result2
可以看到,跟avereps方法得到的结果是一样的,殊途同归。
为了方便大家交流学习,共同进步,我特地创建了微信交流群
联系客服