2017-02-16 6 views
1
I이 포함 JSON 파일 있다고 가정

: 이는 다음과 같이 jsonlite R 패키지의 fromJSON 함수를 이용하여로드 된 경우재구성

[ 
    { 
    "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 
대신 이미 데이터 프레임을 필요없이 가정 6,

, 나는 다음과 같이 구축하려고 : 우리는 데이터 프레임이 방법을 재구성 할 수없는 것을 볼 수 있습니다

> 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

고마워, 로낙, 좋은 질문이야. 필자가 JSON 구문 분석을 사용하여 데이터 프레임을 시작한 경우 원래 데이터 프레임의 요소를 사용하여 데이터 프레임을 다시 작성할 수없는 이유는 무엇입니까? –

답변