重建

2017-02-16 14 views
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]}]') 

xy字段可以這樣獲得:

> 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相當陌生,所以我可能在做一些愚蠢的事情。

+0

您的預期輸出是什麼?由於錯誤消息清楚地表明'x'和'y'具有不同的行數。 –

+0

對於每個x,我認爲OP想要一個y列表。 –

+0

謝謝,Ronak,很好的問題。如果我從數據框(我使用JSON解析)開始,爲什麼我不能使用原始數據框的元素重建數據框? –

回答