我有以下数据框:
z <- data.frame(
item=letters[rep(24:26,2)],
freq=c(4,3,2,4,4,1),
id=rep(1:2,each=3)
)
item freq id
x 4 1
y 3 1
z 2 1
x 4 2
y 4 2
z 1 2
数据帧在每个
id,item
组合上都是唯一的。我希望它是这样的:
id x y z
1 4 3 2
2 4 4 1
这看起来是一个相当简单的转换,但我似乎无法让它工作。
这是我尝试过的(
z
是数据框的名称):dcast(z,id ~ item,sum)
它返回这个:
id x y z
1 1 1 1
2 2 2 2
我究竟做错了什么?
最佳答案
我不确定您为什么要在其中放置“求和”函数。试试这个:
> dcast(z, id ~ item, value.var="freq")
id x y z
1 1 4 3 2
2 2 4 4 1
关于r - 使用 dcast 加宽数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17736840/