首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在E列表中添加带有平均值的列

在E列表中添加带有平均值的列
EN

Stack Overflow用户
提问于 2015-09-08 06:39:14
回答 1查看 42关注 0票数 0

我只是在使用limma进行微阵列分析的R和im之间摸索。我已经拿起了我的控制( CC)和实验( EE)数据。

我最终得到了一个EList,它有微阵列强度的结果。列是CC-1,CC-2,CC-3和EE-1,EE-2,EE-3,探针名称和系统名称我想添加2列,这将是CC 1-3的平均值和EE 1-3的平均值,但我不确定如何做。有没有简单的方法可以做到这一点?

我可以在excel中做,但我真的想熟悉R并流利地使用它。

EN

回答 1

Stack Overflow用户

发布于 2015-09-08 10:33:06

首先,我用一些假的微阵列信号值创建了一个数据帧:

代码语言:javascript
复制
d = data.frame(abs(matrix(rnorm(30,mean=5),5,6)))
cc = c('CC-1', 'CC-2', 'CC-3')
ee = c('EE-1', 'EE-2', 'EE-3')
colnames(d) = c(cc,ee)
d 
      CC-1     CC-2     CC-3     EE-1     EE-2     EE-3
1 4.775333 4.702609 6.555690 4.853671 5.391154 6.252322
2 2.819228 4.899276 3.021709 4.474202 4.432656 4.576010
3 4.329981 5.689807 4.417229 5.444785 2.603174 3.207310
4 4.657848 4.840904 5.955579 6.359203 5.093865 5.255560
5 5.631977 5.043603 5.777581 3.985867 2.387029 5.115502

然后使用apply运行一个函数,该函数逐行( 1参数)计算cc列(和第二个应用行中的ee列)的平均值。ccee的均值向量被指定为data.frame的新列。

代码语言:javascript
复制
d$ccm=apply(d, 1, FUN=function(x) { mean(x[cc]) } )
d$eem=apply(d, 1, FUN=function(x) { mean(x[ee]) } )
d

     CC-1     CC-2     CC-3     EE-1     EE-2     EE-3      ccm      eem
1 4.775333 4.702609 6.555690 4.853671 5.391154 6.252322 5.344544 5.499049
2 2.819228 4.899276 3.021709 4.474202 4.432656 4.576010 3.580071 4.494289
3 4.329981 5.689807 4.417229 5.444785 2.603174 3.207310 4.812339 3.751756
4 4.657848 4.840904 5.955579 6.359203 5.093865 5.255560 5.151444 5.569543
5 5.631977 5.043603 5.777581 3.985867 2.387029 5.115502 5.484387 3.829466
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32446851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档