我有一个带分组变量的数据框,我想按组对它们进行求和。 dplyr
很简单。按组求和多个变量,并用它们的总和创建新列
library(dplyr)
library(magrittr)
data <- data.frame(group = c("a", "a", "b", "c", "c"), n1 = 1:5, n2 = 2:6)
data %>% group_by(group) %>%
summarise_all(sum)
# A tibble: 3 x 3
group n1 n2
<fctr> <int> <int>
1 a 3 5
2 b 3 4
3 c 9 11
但现在我想的n1
和n2
按组总和的新列total
。像这样:
# A tibble: 3 x 3
group n1 n2 ttl
<fctr> <int> <int> <int>
1 a 3 5 8
2 b 3 4 7
3 c 9 11 20
我怎么用dplyr
来做到这一点?
编辑: 其实,这只是一个例子,我有很多变数。
我试过这两个代码,但它不是在正确的尺寸...
data %>% group_by(group) %>%
summarise_all(sum) %>%
summarise_if(is.numeric, sum)
data %>% group_by(group) %>%
summarise_all(sum) %>%
mutate_if(is.numeric, .funs = sum)
我编辑,以避免混淆:我有很多的变数,我不想做N1 + N2 + ... – AntoineBic