Я хочу создать новый столбец в фрейме данных, который суммирует по каждой группе. Фрейм данных:
a<-as.numeric(c(1,2,4,2,2))
b<-c('G','A','A','C','F')
ab<-data.frame(cbind(a,b))
Это дает мне следующий набор данных:
ab
a b
1 1 G
2 2 A
3 4 A
4 2 C
5 2 F
Теперь я хочу взять сумму a
на b
.
ab<-ab %>%
group_by(b) %>%
mutate(c=sum(as.numeric(a)))
Мой результат был:
a b c
<fct> <fct> <dbl>
1 G 10
2 A 10
4 A 10
2 C 10
2 F 10
Как видите, он полностью проигнорировал мою группировку и просто суммировал a
для всего набора данных. Я хочу:
a b c
<fct> <fct> <dbl>
1 G 1
2 A 6
4 A 6
2 C 2
2 F 2
Что пошло не так?