多个探针对应一个基因,取平均值或者最大值

这么简单的问题,总是有人问,而且总是有人不搜索就到处问,本来我是很生气的,后来想一想,应该是我们没有教会大家搜索,也不能全部怪新手。

以前我都是建议大家取最大表达值探针来作为基因的表达量,其实最大值也好,平均值也罢,中位值也好,都是有各自的优缺点。 而且芯片探针这种落后的技术,在这些地方本来就不准确,纠结这种细节意义不大。

平均值代码我给大家一个示范。

  1. BiocInstaller::biocLite('CLL')

  2. BiocInstaller::biocLite('hgu95av2.db')

  3. library('hgu95av2.db')

  4. library(CLL)

  5. data(sCLLex)

  6. sCLLex=sCLLex[,1:8] ## 样本太多,我就取前面8个

  7. group_list=sCLLex$Disease

  8. exprSet=exprs(sCLLex)

  9. exprSet=as.data.frame(exprSet)

  10. exprSet$probe_id=rownames(exprSet)

  11. head(exprSet)

  12. probe2symbol=toTable(hgu95av2SYMBOL)

  13. dat=merge(exprSet,probe2symbol,by='probe_id')

  14. results=t(sapply(split(dat,dat$symbol),function(x) colMeans(x[,1:(ncol(x)-1)])))

如果你看着这个代码,却不知道如何修改成最大值,median等,说明你应该是要好好学习编程了。

请学会搜索,3000篇员原创教程为你而发!!!

(0)

相关推荐