Как я могу суммировать столбец в кадре данных после group_by? - PullRequest
0 голосов
/ 05 февраля 2019

Я хотел бы создать фрейм данных с помощью функции group_by, а затем суммировать столбец на основе group_by.До сих пор я мог только суммировать весь столбец, а не внутри группы.

У меня есть фрейм данных:

old_df <- data_frame(category1 = c("a", "a", "b", "b"),
                     category2 = c("2", "1", "3", "4"))

Отсюда я бы хотел group_by category1 («a» и «b») и сумма категории2 для «a» и «b» индивидуально.Это выглядело бы так:

new_df <- data_frame(category1 = c("a", "b"),
                     Sum_category2 = c("3", "7"))

Я попробовал несколько вещей, и я подумал, что это ниже должно работать.

new_df <- old_df %>%
 group_by(category1) %>%
 summarize(Sum_category2 = sum(category2))

Все, что я до сих пор пробовал, просто суммына весь столбец category2, который в этом случае будет равен 10. Как я могу сделать сумму только внутри группировки?

1 Ответ

0 голосов
/ 05 февраля 2019

Я не уверен, почему вы используете строки для категории 2, но следующее прекрасно работает.

library(dplyr)

old_df <- data.frame(category1 = c("a", "a", "b", "b"),
                 category2 = c(2, 1, 3, 4))

old_df %>% group_by(category1) %>% summarize(sum_category = sum(category2))

old_df
    # A tibble: 2 x 2
  category1 sum_category
  <fct>            <dbl>
1 a                    3
2 b                    7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...