JSON 관련 R 패키지, jsonlite 너로 정했다

R에서 JSON 파일을 다루는 패키지는 3가지 정도 있다. (글은 이 중 1,2만 다룸)

  1. rjson
  2. jsonlite
  3. RJSONIO

복수의 object들을 포함한 json 파일을 R 로 import 하는 경우, jsonlite가 선호된다.

선호 이유는, import 결과물인 list 형태에서
JSON object의 data.frame 추출이 jsonlite에서 더 용이하기 때문이다.

.

#rjson 으로 import
my_j <- rjson::fromJSON(file=’파일명.json’)

#jsonlite 으로 import
my_jl <- jsonlite::fromJSON(‘파일명.json’)

.

위 코드 실행했을 때 결과는 아래와 같다.

rjson

rjson의 결과(my_j)는 Large list 이고,
jsonlite 의 결과(my_jl)는 일반적인 list 이다.

rjson의 결과(my_j)가 Large list 인 이유는,
json array 내 각각의 object 마다 임의 숫자로 numbering이 부여되기 때문이다. (ex.[1], [2], …)
이 numbering 으로 인해 as.data.frame 을 사용하여 list 에서 data frame으로 변환 시 rjson 에서는 오류가 발생한다.
Error in (function (…, row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0

반면 jsonlite 에서는 성공적으로 변환된다.

.

결론 : jsonlite 를 쓰자.

 

인용은 아니지만, R json 패키지 관련 참고할 만한 링크 : https://rstudio-pubs-static.s3.amazonaws.com/31702_9c22e3d1a0c44968a4a1f9656f1800ab.html

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중