我知道在R中的条件下如何汇总一列有很多类似的问题。但是我不知何故无法实现该功能aggregate
或dplyr::group_by(df) %>% summarise(variable = sum(variable))
我的数据。也合并行并求和它们的值对我没有帮助。但是也许可以吗?我想合并和总结R中data.frame的行。
df <- data.frame(file=c('sample1','sample1','sample2','sample3','sample2'),gene1=c(34,365,76,0,4),gene2=c(34,0,0,456,0))
> df
file gene1 gene2
1 sample1 34 34
2 sample1 365 0
3 sample2 76 0
4 sample3 0 456
5 sample2 4 0
输出应如下所示
file gene1 gene2
1 sample1 399 34
2 sample2 80 0
3 sample3 0 456
在基地,你可以使用rowsum
到按组总结行。
rowsum(df[-1], df[,1])
# gene1 gene2
#sample1 399 34
#sample2 80 0
#sample3 0 456
或使用aggregate
:
aggregate(.~file, df, sum)
# file gene1 gene2
#1 sample1 399 34
#2 sample2 80 0
#3 sample3 0 456
或使用by
:
do.call(rbind, by(df[-1], df[,1], colSums))
# gene1 gene2
#sample1 399 34
#sample2 80 0
#sample3 0 456
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句