[코딩을 배우려는 당신에게] #2. 자료를 정보로, 데이터를 지도에 도식화하기 – LG 공식 블로그
본문 바로가기

[코딩을 배우려는 당신에게] #2. 자료를 정보로, 데이터를 지도에 도식화하기

작성일2018-09-27

R프로그램 설치는 잘 끝냈지? 이번 시간부터는 본격적으로 프로그램 R을 어떻게 실무에 이용할 수 있는지 함께 알아보도록 할게.

그 전에, 지난번 팀장님께서 주셨던 숙제가 뭐라고 했지?

‘서울시에 설치된 공공 와이파이 현황을 발표자료 1장으로 요약할 것(ASAP)’

stack

방대한 자료를 어떻게 하면 깔끔하게 나타낼 수 있을까?

데이터를 찾아라! 데이터 수집

숙제를 받은 너의 표정이 그려지는걸. 당장 무엇부터 어떻게 해야 할지 당황했을 거야. 먼저 우리에게 필요한 건 서울시에 설치된 공공 와이파이 리스트야. 즉 데이터를 모으는 작업인 데이터 수집이 가장 먼저 필요하지.

지역단체와 같은 공공기관과 관련된 데이터를 찾고자 할 때 꿀팁을 줄게. 바로 공공데이터포털이라는 곳이야. 공공데이터포털(http://www.data.go.kr)은 공공데이터를 효율적으로 제공하려고 구축한 통합 제공 시스템이야. 한마디로 우리나라 국가가 보유하고 있는 다양한 공공데이터를 국민에게 개방하는 사이트지.

공공데이터포탈

공공데이터포털(http://data.go.kr)

정부가 이렇게 나서서 데이터를 공개하는 사이트를 운영하고 있는 건 빅데이터 시대에 소통과 공유, 협업 전략이 무엇보다 중요하다는 것을 의미하기도 해. 덕분에 우리는 양질의 데이터를 손쉽게 얻을 수 있지.

정부뿐만 아니고 자치단체별로도 공공데이터 포털을 운영하고 있어. 서울시와 관련된 정보가 필요하므로 서울시가 운영 중인 데이터 포털인 서울열린데이터광장(http://data.seoul.go.kr/)을 이용해 볼게. 이곳에서 공공 와이파이를 검색하면 서울시에 설치된 공공 와이파이들의 데이터를 쉽게 다운받을 수 있어.

서울열린데이터광장

서울열린데이터광장(http://data.seoul.go.kr)

데이터를 가공하기 위해 데이터 파일인 CSV파일로 다운로드 하면 뭔가가 해결될 것 같은 느낌적인 느낌이 들지만, 곧 절망에 빠져들고 말 거야. 엑셀로 데이터파일을 열어보면 2024행의 방대한 데이터가 우리를 기다리고 있기 때문이지. 물론 이 데이터를 팀장님께 드릴 수 있지만 1장으로 요약하기는 어림없어 보이지?

공공와이파이_데이터

2천 줄이 넘는 데이터를 어떻게 한 장으로 요약하지?

수많은 데이터를 선별하고 가공하기

이때 우리에게 필요한 것이 바로 데이터 가공이야. 데이터 가공은 수많은 데이터를 우리가 필요한 부분만 정리하거나 도표 등으로 요약하는 일련의 작업을 말해. 그리고 이러한 작업을 도와줄 수 있는 것이 바로 지난 시간에 우리가 배웠던 R프로그램이야. R프로그램의 활약상을 드디어 보여줄 때가 왔군!

오늘은 위치정보가 포함된 데이터들을 지도 위에 점 그래프로 도식화할 수 있는 방법을 알려주려고 해. 이 방법은 실제로 회사에서 보고서를 쓸 때나 그밖에 다양한 업무에서 유용하게 사용할 수 있는 기능이야. 때문에 각 명령어에 대한 자세한 설명보다는 예시 위주로 설명을 할게. 우리 모두가 컴퓨터 공학을 전공하지는 않았으니 말야.

먼저 R프로그램을 실행해보자. 그리고 콘솔에 아래 명령어를 한 줄씩 입력하고 엔터를 쳐볼게. 그럼 지도와 그래프 툴이 자동으로 설치될 거야.

install.packages(“ggmap”)

install.packages(“ggplot2”)

R프로그램_설치

지도와 그래프 툴을 설치하는 과정

설치가 완료되었다면 다음 명령어를 입력해 볼게.

library(ggmap)

library(ggplot2)

ggmap(get_map(location=‘south korea’, zoom=6))

우리나라 지도를 불러오자!

명령어를 잘 입력했다면 R프로그램 창에 위와 같은 대한민국 지도가 표시될 거야. 그리고 다음으로 아래와 같이 입력해 보면…

ggmap(get_map(location=‘seoul, south korea’, zoom=18, maptype=“roadmap”))

MAP

이처럼 확대된 지도도 볼 수 있단다. 위의 명령어를 간단하게 설명하자면 아래와 같아. 암기하거나 꼭 이해해야 할 내용은 전혀 아니니 전반적인 예시를 이해하는데 중점을 두도록 하자.

명령어 알고가기

ggmap(get_map(location=‘중심점, zoom=확대비중, maptype=“지도속성))

자, 그럼 본격적으로 우리가 필요한 작업인 서울시의 공공 와이파이 정보를 지도에 도식화시켜보자.

아까 다운받은 데이터파일을 R프로그램에서 불러오는 작업을 먼저 해볼게. 먼저 우리가 다운받은 데이터 파일이 있는 경로를 작업공간으로 설정해 주어야 해.

파일 ▶ 작업 디렉토리 변경 ▶ 데이터 파일이 들어있는 경로 선택 후 ▶ 확인

workplace

데이터를 불러오기 전에 꼭 해주어야 하는 일, ‘작업공간 설정하기’

자, 이렇게 작업 공간이 완성되었다면 데이터를 불러오자.

SeoulWifi read.csv(“seoulpublicwifi.csv”, header=T, as.is=T)

여기서 꼭 알아두어야 할 점이 두 가지 있어.

첫째, seoulpublicwifi.csv는 우리가 다운받은 파일의 파일명이고

두 번째, 지금은 이해하기 쉽게 명령어를 화살표 기호(←)로 표현했지만, 실제 명령어를 입력할 때는 화살표 ← 기호 대신에 <- 로 바꾸어 입력해야 한다는 점!

위의 명령어를 입력하면 R프로그램이 우리가 다운받은 CSV 데이터를 불러오게 된단다. 이제 입력이 된 데이터를 바탕으로 데이터를 도식화하는 작업을 해볼게. 아래 명령어를 복사해서 한 줄씩 붙여넣어 보자.

get_map(location=‘south korea’, zoom=13, source=‘google’, maptype=‘terrain’)

Map get_map(location=‘37.556,126.923’, zoom=13, maptype=‘roadmap’, color=‘bw’)

ggmap(Map) + geom_point(data=SeoulWifi, aes(x=lon, y=lat, color=location))

명령어 알고가기

위에 표시된 37.556,126.923 숫자는 홍대입구역의 좌표. 즉 홍대입구 역을 중심점으로 선언하고 지도를 보여주라는 명령!

이렇게 명령어를 순서대로 입력하면 지도에 우리가 다운받은 공공 와이파이 데이터가 깔끔하게 도식화되는 것을 볼 수 있지!

map_data

2천 줄의 데이터(data)가 보기 쉬운 지도 위 이미지 정보(information)로!

어때? 명령어들은 좀 복잡하지만 이번 예시를 익혀둔다면 적어도 공공데이터포털에서 제공하는 수많은 위치 정보들을 그럴싸하게 지도에 표시할 수 있겠지? 이제 위의 이미지를 ‘서울시 공공 와이파이 현황’ 이라는 제목을 달면 멋진 1장짜리 보고서가 완성되는 것이지!

이처럼 R프로그램을 사용하면 복잡하고 방대한 자료(data)를 수집해서 우리가 원하는 정보(information)로 만들어 낼 수 있어. 그리고 이를 바탕으로 우리는 더욱 빠르고 정확한 의사결정을 내릴 수도 있지. 이것이 바로 넓은 의미의 Data Intelligence가 아닐까?

김선택 프로필

LG전자, Life is Good 봉사단에서 대화형 AI 팀장으로 더 나은 삶을 위해 도전하고 있습니다. 좋은 기술로 옳은 미래를 만들어 가고자 합니다. 연암문화재단을 통해 국립과학관이나 학교에 재능기부 강의도 하고 있습니다.

'코딩을 배우려는 당신에게' 시리즈보기