r - R - 重塑数据框和聚合元素
问题描述
我有一个这样的数据框
client Product date
A apple May
B grape Jun
B apple Jun
C apple Jul
A grape Jul
我想要这个:
client May Jun Jul
A 1 0 1
B 0 2 0
C 0 0 1
也就是说,我想汇总每个客户几个月内销售的所有产品。我知道我尝试重塑,data.table
但我想不出最好的方法来做到这一点。
谢谢
解决方案
as.data.frame.matrix(xtabs(f~client+date,cbind(f=1,dat)))
Jul Jun May
A 1 0 1
B 0 2 0
C 1 0 0
或者你可以这样做:
as.data.frame.matrix(table(dat[-2]))
Jul Jun May
A 1 0 1
B 0 2 0
C 1 0 0