搜索
查看: 4318|回复: 2

多个探针对应一个基因,取平均值该怎么写

[复制链接]

633

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-8-27 16:52:46 | 显示全部楼层 |阅读模式
以前我都是建议大家取最大表达值探针来作为基因的表达量,其实最大值也好,平均值也罢,中位值也好,都是有各自的优缺点。
而且芯片探针这种落后的技术,在这些地方本来就不准确,纠结这种细节意义不大。

平均值代码我给大家一个示范。
[AppleScript] 纯文本查看 复制代码
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)])))



上一篇:unbuntu 安装mysql 报错E:invalid operation install,求助!!
下一篇:给菜单栏添加前进后退按钮-JS技巧
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

2

主题

41

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
发表于 2017-10-9 16:20:18 | 显示全部楼层
可以使用R自带的aggregate函数实现。
参考:https://datascienceplus.com/aggregate-data-frame-r/
示例:
[Bash shell] 纯文本查看 复制代码
assets <- data.frame(asset.class = c("equity", "equity","equity",
                                     "option","option","option",
                                     "bond", "bond"),
                     counterparty.a = c(runif(3), rnorm(5)),
                     counterparty.b = c(runif(3), rnorm(5)),
                     counterparty.c = c(runif(3), rnorm(5)))
assets
uniq_data <- aggregate(.~asset.class,assets,mean)
回复 支持 1 反对 0

使用道具 举报

365

主题

512

帖子

1713

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1713
发表于 2018-9-9 22:44:51 | 显示全部楼层
yojoy123 发表于 2017-10-9 16:20
可以使用R自带的aggregate函数实现。
参考:https://datascienceplus.com/aggregate-data-frame-r/
示例:

简洁!
赞!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-20 00:51 , Processed in 0.030127 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.