多个探针对应一个基因,取平均值或者最大值
这么简单的问题,总是有人问,而且总是有人不搜索就到处问,本来我是很生气的,后来想一想,应该是我们没有教会大家搜索,也不能全部怪新手。
以前我都是建议大家取最大表达值探针来作为基因的表达量,其实最大值也好,平均值也罢,中位值也好,都是有各自的优缺点。 而且芯片探针这种落后的技术,在这些地方本来就不准确,纠结这种细节意义不大。
平均值代码我给大家一个示范。
BiocInstaller::biocLite('CLL')
BiocInstaller::biocLite('hgu95av2.db')
library('hgu95av2.db')
library(CLL)
data(sCLLex)
sCLLex=sCLLex[,1:8] ## 样本太多,我就取前面8个
group_list=sCLLex$Disease
exprSet=exprs(sCLLex)
exprSet=as.data.frame(exprSet)
exprSet$probe_id=rownames(exprSet)
head(exprSet)
probe2symbol=toTable(hgu95av2SYMBOL)
dat=merge(exprSet,probe2symbol,by='probe_id')
results=t(sapply(split(dat,dat$symbol),function(x) colMeans(x[,1:(ncol(x)-1)])))
如果你看着这个代码,却不知道如何修改成最大值,median等,说明你应该是要好好学习编程了。
请学会搜索,3000篇员原创教程为你而发!!!
赞 (0)