fromJSON + ldply:修复矩阵上不正确的下标数量错误
fromJSON + ldply: fix error incorrect number of subscripts on matrix
我有一个 JSON 具有以下结构:
{\"A\": [[\"x\", 0.2], [\"y\", 0.3], [\"z\", 0.3]], \"B\": [[\"x\", 0.2], [\"y\", 0.3]]}
我正在尝试这样做:
library(jsonlite)
library(plyr)
my_data <- fromJSON(my_json_file, flatten = TRUE)
my_data <- ldply(my_data, rbind)
但是我得到这个错误:
Error in output[rng, lcols[[i]]] <- matrices[[i]] :
incorrect number of subscripts on matrix
我尝试做 do.call(rbind, my_json_file)
但这样做会丢失一些信息,因为 ldply
应该 return
V1 | V2 | V3
A | x | 0.2
A | y | 0.3
A | z | 0.3
B | x | 0.2
B | y | 0.3
和do.call
returns
V2 | V3
x | 0.2
y | 0.3
z | 0.3
x | 0.2
y | 0.3
有没有办法强制 ldply
或者用 do.call
获得相同的结果?
@SymbolixAU 在 ldply
不起作用时开始解决方案是
my_data <- do.call(rbind, lapply(fromJSON(my_json), data.frame))
my_data$id <- colnames(my_data)
我有一个 JSON 具有以下结构:
{\"A\": [[\"x\", 0.2], [\"y\", 0.3], [\"z\", 0.3]], \"B\": [[\"x\", 0.2], [\"y\", 0.3]]}
我正在尝试这样做:
library(jsonlite)
library(plyr)
my_data <- fromJSON(my_json_file, flatten = TRUE)
my_data <- ldply(my_data, rbind)
但是我得到这个错误:
Error in output[rng, lcols[[i]]] <- matrices[[i]] :
incorrect number of subscripts on matrix
我尝试做 do.call(rbind, my_json_file)
但这样做会丢失一些信息,因为 ldply
应该 return
V1 | V2 | V3
A | x | 0.2
A | y | 0.3
A | z | 0.3
B | x | 0.2
B | y | 0.3
和do.call
returns
V2 | V3
x | 0.2
y | 0.3
z | 0.3
x | 0.2
y | 0.3
有没有办法强制 ldply
或者用 do.call
获得相同的结果?
@SymbolixAU 在 ldply
不起作用时开始解决方案是
my_data <- do.call(rbind, lapply(fromJSON(my_json), data.frame))
my_data$id <- colnames(my_data)