janeheather 2019-02-27 04:36 采纳率: 0%
浏览 11177

在R中怎么把相同行名的行合并为一行?

图片说明
在R中怎么把相同行名的行合并为一行,并对其求平均值
这是我的数据,怎么把行名相同的3、4行,5、6行,8、9、10行找出来,并取平均值呢

  • 写回答

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的最后一行中
    }

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能