0

在下面的示例数据集中,我需要找到每年汇总的每种产品的唯一客户数量。输出必须是带有标题的 data.frame:年份 - 产品 - 客户数量

谢谢你的帮助。

year <- c("2009", "2010")
product <- c("a", "b", "c")
df <- data.frame(customer = sample(letters, 50, replace = T),
                 product = sample(product, 50, replace = T),
                 year = sample(year, 50, replace = T))
4

2 回答 2

4

使用aggregate()(在随附的 R 统计数据包中):

agdf<-aggregate(customer~product+year,df,function(x)length(unique(x)))
agdf
#  product year customer
#1       a 2009        7
#2       b 2009        8
#3       c 2009       10
#4       a 2010        7
#5       b 2010        7
#6       c 2010        6
于 2013-03-25T12:40:05.100 回答
2

使用plyr's summarise

require(plyr)
ddply(df, .(product, year), summarise, customers=length(unique(customer)))
于 2013-03-25T12:09:57.273 回答