R Reshape给出“错误:索引越界”

时间:2015-03-17 19:28:39

标签: r reshape

我在表单的数据框中有一些数据:

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,但当然会转换为宽(因为不同项目的'计数器'长度不同)。

1 个答案:

答案 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)