我在表单的数据框中有一些数据:
projectID counter type
1 1 C
1 2 D
1 3 C
2 1 E
2 2 C
2 3 D
2 4 C
我正在尝试使用reshape
将其转换为格式的数据框:
projectID 1 2 3 4 ...
1 C D E NA
2 E C D C
...
当我跑步时
x <- reshape(x,timevar = "counter",idvar = "projectID",direction = "wide")
我收到错误Error: index out of bounds
。我发现了一些错误报告(我真的不明白)但在这个问题上找不到任何东西。非常愿意采用其他方式做同样的事情。请注意,数据中没有NA,但当然会转换为宽(因为不同项目的'计数器'长度不同)。
答案 0 :(得分:1)
你可以尝试
library(reshape2)
dcast(x, projectID~counter, value.var='type')
# projectID 1 2 3 4
#1 1 C D C <NA>
#2 2 E C D C
或者
library(tidyr)
spread(x, counter, type)