728x90

R은 통계프로그래밍 언어로 일반인이 사용하기 쉽게 만든 언어이다.

그러나 필자는 프로그래머이고 비 프로그래머의 인식으로 접근하기 힘든면이 있다.

강의 또한 그러하다. 강의 곳곳에 프로그래머적인 시선이 들어있으니 참고하여 필요없으면 넘겨라.


참고:

[개발환경 셋팅하기]R설치 및 환경변수 등록-(1)

[개발환경 셋팅하기]RStudio설치-(2)

[개발환경 셋팅하기]RStudio프로젝트 만들기-(3)


xml도 읽었으니 이제 json을 읽어보자.

json데이터역시 공공데이터 포털에 많다.

이번에도 json을 데이터프레임으로 바꿀것이다. 데이터프레임은 list기반이며 list는 json과 형식이 거의 비슷하기에 사용과 변환에 무리가 없다.


json라이브러리



install.packages("jsonlite")

이제 적당히 사용할데이터를 찾자. data.go.kr에 가자.



사용할 데이터셋은 전국금연구역표준데이터를 json으로 뽑아낸 데이터이다.

데이터가 굉장히 커서 로딩하는데도 오래걸렸다.

읽는 방법은 아래와 같다.


library('jsonlite')

data = fromJSON('전국금연구역표준데이터.json')

print(data)


데이터 파일만 200메가가 되는 큰 파일이다.

한번 읽어보자.



데이터는 리스트로 들어온다. 리스트는 총 field와 records로 들어오는데 아무래도 이렇게 쓰려면 조금 귀찮다.

데이터 프레임으로 바꾸는게 좋다.


library('jsonlite')

valueJson = fromJSON('전국금연구역표준데이터.json')

print(head(valueJson))

dfJson = data.frame(valueJson$records)

print(head(dfJson))



data.frame으로 변경했기에 이제 사용하기 편리해졌다.

이제 값을 추출해서 외부에 저장해보자.


library('jsonlite')

valueJson = fromJSON('전국금연구역표준데이터.json')

print(head(valueJson))

dfJson = data.frame(valueJson$records)

print(head(dfJson))

exportJson<-toJSON(head(dfJson))

write(exportJson,file='export.json')


head함수는 상위 6개를 보여준다. 만약 더보여주고싶거나 덜보여주고싶다면 n=속성을 사용해주면된다.

해당 결과로 상위 6개를 다시 json으로 파싱해서 저장하게된다. 이때 사용하는 함수는 write이다.



제대로 저장됬음을 확인할 수 있다.


'Programming > R' 카테고리의 다른 글

[R-19]팩터(factor)  (0) 2017.11.19
[R-18]R데이터 읽기,쓰기(data,Rdata)  (0) 2017.11.19
[R-16]파일 읽기(xml)  (0) 2017.11.19
[R-15]파일 읽기,쓰기(csv)  (0) 2017.11.19
[R-14]파일 읽기(xls,xlsx)  (0) 2017.11.19

+ Recent posts