在R中怎么把相同行名的行合并为一行,并对其求平均值
这是我的数据,怎么把行名相同的3、4行,5、6行,8、9、10行找出来,并取平均值呢
在R中怎么把相同行名的行合并为一行?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- weixin_45344380 2020-05-17 20:48关注
gene<-你的数据 #第一列是gene_ID 之后列为gene_expression
dup<-data.frame(table(gene$gene_ID)) #这个返回一个矩阵 第一列为Var1是geneID中的所有元素 第二列是Freq 重复次数
dup<-subset(dup,dup$Freq>1) #筛选出dup中重复次数>1的 也就是重复了的 dup返回只有重复元素及重复次数
for(i in 1:nrow(dup)) #遍历dup中所有元素
{row_number<-which(gene$gene_ID==dup[i]) #将gene中geneID和dup【i】相同的行的行数存入row.number中
gene<-gene[-row_number,] #在gene中删除geneID和dup【i】相同的行
duplicate<-gene[row.number,] #将gene中geneID和dup【i】相同的行存入duplicate中
duplicate$mean<-apply(duplicate[,2:nrow(duplicate)],1,mean) #将duplicate的第二列到最后一列的值求平均存入新加列mean中
duplicate<-subset(duplicate,duplicate$mean==max(duplicate$mean),select=-mean) #保留duplicate中mean最大的列 之后删除mean列
gene<-rbind(gene,duplicate) #将duplicate加在gene的最后一行中
}解决 13无用 2
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog