Используя aggregate
:
aggregate(x$Frequency, by=list(Category=x$Category), FUN=sum)
Category x
1 First 30
2 Second 5
3 Third 34
(вложение комментария @thelatemail), aggregate
также имеет интерфейс формулы
aggregate(Frequency ~ Category, x, sum)
Или, если вы хотите для объединения нескольких столбцов вы можете использовать нотацию .
(работает для одного столбца тоже)
aggregate(. ~ Category, x, sum)
или tapply
:
tapply(x$Frequency, x$Category, FUN=sum)
First Second Third
30 5 34
Используя эти данные:
x <- data.frame(Category=factor(c("First", "First", "First", "Second",
"Third", "Third", "Second")),
Frequency=c(10,15,5,2,14,20,3))