【发布时间】:2019-07-24 05:53:52
【问题描述】:
mydf 用于可重现的目的。我有 mydf 数据框,我想将列表转换为 mydf 中的因素,但它会引发错误
mydf<-data.frame(col1=c("a","b"),col2=c("f","j"))
mydf$col1<-as.list(mydf$col1)
mydf$col2<-as.list(mydf$col2)
str(mydf)
这是我尝试将列表更改为因子/数字类型时遇到的错误
mydf$col1<-as.factor(mydf$col1)
Error in order(y) : unimplemented type 'list' in 'orderVector1'
我希望我的数据框 (mydf) 是预期的_df(无列表数据框)
expected_df<-data.frame(col1=c("a","b"),col2=c("f","j"))
str(expected_df)
如果您比较 str(mydf) 和 str(expected_df) ,则存在差异,因为我无法将列表更改为 mydf 数据框中的因子。有什么办法可以解决我的问题吗?
str(mydf)
'data.frame': 2 obs. of 2 variables:
$ col1:List of 2
..$ : Factor w/ 2 levels "a","b": 1
..$ : Factor w/ 2 levels "a","b": 2
$ col2:List of 2
..$ : Factor w/ 2 levels "f","j": 1
..$ : Factor w/ 2 levels "f","j": 2
str(expected_df)
'data.frame': 2 obs. of 2 variables:
$ col1: Factor w/ 2 levels "a","b": 1 2
$ col2: Factor w/ 2 levels "f","j": 1 2
【问题讨论】:
-
mydf[] <- lapply(mydf, unlist). -
我有大约 2000 多个带有文本数据的文件,少数 json 文件有 20 列,其他有 18 列 [剩余 2 列不存在] ...所以这也是一个问题....我使用了您的代码,但它在
[<-.data.frame(*tmp*, , value = list(bwithbug = c("true", : 替换元素 10 有 2 行,需要 3 行) 中抛出了一些错误错误" -
如果您的问题是 JSON,请阅读this。