使用以下命令(x是包含3列A,B和C列的表)
library(reshape)
cast(x, A~B)
出现以下错误:
Using C as value column. Use the value argument to cast to override this choice
Error in order(A = list("xxx", :
unimplemented type 'list' in 'listgreater'
它意味着什么以及如何解决它?
我想这可能是由于数据帧的数据格式(如果我错了,请纠正我)。我用str命令测试了表x和y的格式。
str(x) returns
$ A: List of 6
..$ : chr "xxx"
....
$ B:chr "yyy" "yy2" ....
...
$ C: List of 6
..$ : num 22.....
...
对于另一个带有D E和F列的表y,运行cast命令时不会显示错误消息。
str(y) shows that all D E F columns are Factor w/ 6 levels....
如何为list和num包含数据帧x?
进行强制转换答案 0 :(得分:1)
使用
df <- as.data.frame(lapply(df, unlist))
答案 1 :(得分:0)
我认为第一个data.frame不是data.frame而是列表。转换为data.frame将解决问题。使用:
x <- as.data.frame(x)
library(reshape)
cast(x, A~B)
HTH