我有data.frame
看起来像这样(但是有更多的列和行):
Gene Cell1 Cell2 Cell3
1 A 2 7 8
2 A 5 2 9
3 B 2 7 8
4 C 1 4 3
我想在Gene
中对具有相同值的行求和,以便得到类似的内容:
Gene Cell1 Cell2 Cell3
1 A 7 9 17
2 B 2 7 8
3 C 1 4 3
根据之前问题的答案,我尝试使用aggregate
,但我无法理解如何获得上述结果。这就是我尝试过的:
aggregate(df[,-1], list(df[,1]), FUN = sum)
有没有人知道我做错了什么?
答案 0 :(得分:3)
或dplyr
:
library(dplyr)
df %>%
group_by(Gene) %>%
summarise_all(sum) %>%
data.frame() -> newdf # so that newdf can further be used, if needed
答案 1 :(得分:2)
aggregate(df[,-1], list(Gene=df[,1]), FUN = sum)
# Gene Cell1 Cell2 Cell3
# 1 A 7 9 17
# 2 B 2 7 8
# 3 C 1 4 3
将为您提供所需的输出。