【发布时间】:2011-11-19 00:27:48
【问题描述】:
假设我有一个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 来完成。
【问题讨论】: