R中as.data.frame()解析含Unicode名称列表为何维度异常?
列表转数据帧的问题排查
- 最初怀疑问题出在
rjson::包上,实际测试后确认rjson::fromJSON()运行正常,问题根源是对as.data.frame()函数的使用逻辑理解有误。 - 待处理的JSON文件包含40个观测值、35个变量,使用
rjson::fromJSON()读取后得到一个长度为40的列表,每个子列表包含35个元素:
raw_JSON <- rjson::fromJSON(file = "World Class.json")
- 按照资料建议用
as.data.frame()转换时:
df <- as.data.frame(raw_JSON)
得到的是1行1400列(1400=35×40)的数据帧,不符合预期。
- 尝试过调整
as.data.frame()的所有参数,也试过fromJSON()中用向量替代列表的选项,均无效果;使用RJSONIO::包读取后转换,结果一致。 - 已知
jsonlite::可以正常读取并转换为符合要求的数据帧,但核心诉求是理解自己在列表转数据帧步骤中的错误,而非寻找替代工具包。
内容的提问来源于stack exchange,提问作者Sciolism Apparently
相关产品推荐
相关产品推荐

