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

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

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

https://bbs.pinggu.org/thread-7398424-1-1.html