1
假設我有包含此一JSON文件:如果這是使用fromJSON
函數在jsonlite
ř包如下加載重建
[
{
"x": 3,
"y": [3,4,5]
},
{
"x": 6,
"y": [6,7,8]
}
]
:
# Read the JSON data
library(jsonlite)
data <- fromJSON('[{"x":3,"y":[3,4,5]},{"x":6,"y":[6,7,8]}]')
則x
和y
字段可以這樣獲得:
> data$x
[1] 3 6
> data$y
[[1]]
[1] 3 4 5
[[2]]
[1] 6 7 8
假設,而不是已經有數據幀,我嘗試如下構建它:
> x2 <- data$x
> y2 <- data$y
> df <- data.frame(x = x2, y = y2)
Error in data.frame(x = x2, y = y2) :
arguments imply differing number of rows: 2, 3
我們可以看到,數據幀不能重建這種方式。我如何構建包含列表的數據框?
對不起,爲了清楚:
> data <- fromJSON('[{"x":3,"y":[3,4,5]},{"x":6,"y":[6,7,8]}]')
> class(data)
[1] "data.frame"
我可以解析JSON建立一個數據幀,但我上面使用的方法不能生成數據幀。我對R相當陌生,所以我可能在做一些愚蠢的事情。
您的預期輸出是什麼?由於錯誤消息清楚地表明'x'和'y'具有不同的行數。 –
對於每個x,我認爲OP想要一個y列表。 –
謝謝,Ronak,很好的問題。如果我從數據框(我使用JSON解析)開始,爲什麼我不能使用原始數據框的元素重建數據框? –