Скажем, у меня есть объект data.frame
:
df <- data.frame(name=c('black','black','black','red','red'),
type=c('chair','chair','sofa','sofa','plate'),
num=c(4,5,12,4,3))
Теперь я хочу подсчитать количество наблюдений за каждой комбинацией name
и type
. Это можно сделать так:
table(df[ , c("name","type")])
или, возможно, также с plyr
(хотя я не уверен, как).
Однако, как мне получить результаты, включенные в исходный фрейм данных? Чтобы результаты выглядели так:
df
# name type num count
# 1 black chair 4 2
# 2 black chair 5 2
# 3 black sofa 12 1
# 4 red sofa 4 1
# 5 red plate 3 1
где count
теперь сохраняет результаты от агрегации.
Решение с plyr
может быть интересно узнать также, хотя я хотел бы посмотреть, как это делается с базой R.