我有以下数据框:

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/

10-12 17:40
查看更多