Совсем недавно вы также можете использовать пакет dplyr для этой цели:
library(dplyr)
x %>%
group_by(Category) %>%
summarise(Frequency = sum(Frequency))
#Source: local data frame [3 x 2]
#
# Category Frequency
#1 First 30
#2 Second 5
#3 Third 34
Или для нескольких суммарных столбцов (работает с одним столбцом тоже):
x %>%
group_by(Category) %>%
summarise_each(funs(sum))
Обновление для dplyr> = 0.5: summarise_each
было заменено на семейство функций summarise_all
, summarise_at
и summarise_if
в dplyr.
Или, если у вас есть несколько столбцов для группировки, вы можете указать все из них в group_by
, разделенные запятыми:
mtcars %>%
group_by(cyl, gear) %>% # multiple group columns
summarise(max_hp = max(hp), mean_mpg = mean(mpg)) # multiple summary columns
Для получения дополнительной информации, включая оператор %>%
, см. введение в dplyr .