-
R을 이용해서 공공데이터를 읽어보기Programming/R programming 2019. 11. 1. 21:32
오늘 한 실습은 공공데이터를 가져와서 R에서 간단한 전처리를 거친 후에 데이터를 시각화하는 것이었다.
저번 학기 데이터베이스 수업 이후 오랜만에 들어가본 서울 열린데이터광장.. (https://data.seoul.go.kr/)
오늘 사용한 데이터는 서울시 주민등록인구(구별) 통계자료이다.
0. 데이터준비
다운받은 엑셀파일은 내가 작성하는 R 코드파일이 위치한 workspace에 저장해둔다.
참고) 열린데이터광장은 서울시와 관련된 공공데이터를 제공하는 사이트인데, DB를 다뤄야 할 일이 있을 때 사용하면 좋다.
1. 데이터 읽어오기
원래는 csv 파일을 사용하면 좋지만, 가끔 깨지는 경우가 있어 xls 파일을 다운받았다.
csv 파일을 읽어올 때는 패키지 설치없이 위에 주석처럼 read.csv("파일명.csv") 형식으로 읽어올 수 있다.
그러나 xls 파일을 읽어올 때는 readxl 이라는 패키지를 설치해야 한다.
그리고 반드시 library("패키지이름")을 이용해 패키지를 가져와야 한다.
이거를 안하면 패키지를 못 가져와서 그 기능을 사용할 수 없다.
나의 population이라는 데이터에 read_excel를 이용해서 서울시 구별 인구통계자료를 읽어온다.
잘 읽어왔는지 View() 함수를 이용해 확인한다. 이 함수를 이용하면 별도의 창으로 데이터를 볼 수 있다.
잘 가져왔군!
2. 데이터 전처리
여러 attribute 중에 내가 관심있는 부분은 구의 이름, 총 인구수, 한국인 수, 외국인 수, 고령인 수다.
combine 함수를 이용해 보고싶은 열만 남겨둔다.
그리고, attribute name을 보기 편한대로 바꿔준다. 이때도 역시 combine으로 묶어줬다.
1행의 데이터도 필요없을 것 같아 삭제해줬다. -1은 1행을 삭제해달라는 뜻이다.
3. 데이터 가공
인구 수의 데이터 타입이 char타입으로 되어 있다. 그럼 연산이 어렵기 때문에 데이터타입을 변경해주어야 한다.
연산을 할 수 있도록 num 타입으로 바꾸어주자.
str(데이터) 함수를 이용하면 각 열들이 어떤 데이터타입으로 되어 있는지 콘솔창에 나타내준다.
이번에는 <외국인 비율>이라는 새로운 열을 생성하기로 한다.
외국인 비율은 ( 구별 외국인수 / 구별 인구수 ) * 100으로 계산한다.
그런데, 이렇게 하면 소숫점이 길게 나와 보기 좋지 않다.
그래서 간단하게 반올림을 할 수 있는 함수 round를 이용한다.
4. 데이터 시각화
데이터를 시각화할 수 있는 패키지는 다양하지만, 이번에는 ggplot2를 이용한다.
ggplot2는 시각화 그래프 패키지이다. 복잡한 그래프 생성을 간단하게 만들 수 있다.
꽤 괜찮은 결과물의 그래프를 빠른 시간내에 만들 수 있다.
위에서 패키지를 설치한 것처럼 동일하게 패키지를 설치하고 가져온다.
aes는 축을 나타낸다.
아주 간단하지만 꽤 괜찮은 데이터 시각화 실습을 해보았다.
교육을 받으면서 따라한 수준이기는 하지만, R이 너무 재밌어서 다음에는 R에 대해 공부를 해보고
데이터 시각화 쪽 대회를 준비해보고 싶다!
'Programming > R programming' 카테고리의 다른 글
R의 기본 문법 (0) 2019.11.01 R이란 무엇인가? - R 소개, R 설치, R studio (0) 2019.11.01