디지털라이프

디지털 기기, 게임, IT 정책

arrow_downward최신기사

R

[디블로터] ⑬시간 처리를 편리하게…‘루브리데이트’ 패키지

데이터를 처리할 때 의외로 짜증나는 항목은 시간입니다. 날짜와 시간은 단순한 숫자가 아닙니다. 시간을 단순한 숫자로 인식하면 계산이 나오지 안 됩니다. 시간의 연산을 위해서는 시간을 'Date'나 'DateTime'이라는 객체 형식으로 저장해야 합니다. 시간은 보통 체계적으로 적혀있기는 합니다. 다만 꼭 체계적이라고 보기도 어렵습니다. 사람이 보기엔 괜찮아도 컴퓨터가 보기엔 적절하지 않을 수 있다는 의미입니다. 때문에 컴퓨터가 날짜로 인식하는 패턴에 맞추기 위해서 한 번 더 손이 가곤 합니다. 컴퓨터가 날짜로 인식하는 경우는 보통 ‘2016-04-03’같은 경우입니다. '2016년 04월 3일', '16. 4. 3' 등의 형식일 때는 컴퓨터가 이해할 수 있는 형태로 변환해주는 과정이 필요합니다. 이번에 공부한 패키지는 이 과정을 굉장히 쉽게 만들어주는 루브리데이트(Lubridate) 패키지입니다. R의 기본기능으로도 날짜...

디블로터

[디블로터] ⑫어느 인포그래픽이 더 적절할까?

이번 주 디블로터 시간에는 인포그래픽에 대해 공부했습니다. 데이터과학이 너무 어렵다 보니 학습 의욕이 꺾이는 경우가 종종 생기더라고요. 하루를 써서 공부하는 만큼, 시간을 분배해 다양하게 배우면서 흥미를 유지하는 게 좋을거라는 판단이 들었습니다. 2주를 인포그래픽 문법에 할당했는데요. 책을 공부하다 보니 아는 것보다는 익히는 게 더 중요한 내용이라 정작 공부하는 데는 하루가 채 걸리지 않았습니다. 교재는 '인사이트'에서 나온 '월스트리트저널 인포그래픽 가이드'입니다. 저자인 도나 M. 윙은 인포그래픽 분야에서만 20년 이상 경험을 쌓은 베테랑입니다. <뉴욕타임스>, <월스트리트저널> 등 유수 언론사를 거쳤습니다. 이 책은 간결하고 명확하게 인포그래픽을 그릴 때 필요한 내용을 다루고 있습니다. 공부한 내용을 바탕으로 아홉 가지 사례를 꼽아봤습니다. 책에는 훨씬 풍성하고 알찬 내용이 담겨있으니, 추가로...

plotly

[디블로터] ⑪인터랙티브 차트도 손쉽게…‘플로틀리’ 패키지

R는 꽤 유용한 시각화 도구로 사용하기 좋습니다. 기본적으로 제공하는 플롯으로 개략적인 모습을 파악하기도 쉽습니다. 지지플롯2 패키지를 이용하면 훨씬 다양하고, 미적으로도 깔끔한 그래프를 그릴 수 있습니다. 다만 지지플롯을 활용해서 바로 인터랙티브한 그래프를 만들기는 어렵습니다. 그러나 최근 오픈소스로 공개된 '플로틀리 패키지'를 활용하면 손쉽게 인터랙티브 차트를 만들어 낼 수 있습니다. 3D차트도 가능합니다. 플로틀리는 R 외에도 파이썬, 엑셀 등에서도 활용할 수 있습니다. 돈을 내면 플로틀리에서 제공하는 클라우드와 비교적 쉽게 차트를 그릴 수 있는 솔루션도 활용할 수 있습니다. R에서의 플로틀리 패키지 활용법을 알아보겠습니다. 플로틀리 패키지에서 제공하는 함수를 활용하는 법은 다음과 같습니다. R에서 기본으로 제공하는 아이리스 데이터를 예로 살펴보겠습니다.  plot_ly(iris, x = Petal.Length, y = Petal.Width,...

R

[디블로터] ⑩‘니터’ 활용법 정리

텍스트와 코드를 섞어서 효율적인 문서를 만들 수 있는 아르마크다운 문서의 기본은 '코드 청크'의 활용입니다. 코드 청크는 우리말로 하면 ‘코드 덩어리’쯤으로 번역할 수 있습니다. 다만 R 활용에서 청크라고 사용하고, 교재로 사용하고 있는 ‘R과 knitr를 활용한 데이터 연동형 문서 만들기’에서도 코드 청크라고 사용하는 만큼, 용어는 코드 청크로 통일하겠습니다. '니터'는 R에 존재하는 기본 패키지입니다. 니터 패키지를 실행하려면, 마찬가지로 기본 패키지인 '아르자바'(rJava)가 실행돼야 합니다. 이때 설치한 R와 사용하는 컴퓨터에 깔린 자바가 같은 버전이어야 합니다. 만약 니터가 실행이 안 된다면 이 문제일 가능성이 큽니다. 코드와 텍스트를 섞어서 문서를 만들 때의 장점 보고서를 만든다고 가정해 보겠습니다. 데이터를 정제하고, 표를 만들거나 그래프를 그려서 보고서에 삽입합니다. 삽입하는 것뿐만...

D3.JS

[디블로터] ⑨네이버가 좋아하는 뉴스, 분석해보니

한 주를 건너뛰고 돌아온 디블로터입니다. 저번 주에 놀진 않았고요. 'SDF 넥스트 미디어 챌린지' 행사 참가로 2주간 자리를 비운 황유덕 씨가 오랜만에 돌아와서 그간 배웠던 내용들 복습했습니다. 단순선형회귀 모델 세워보는 연습도 해 봤습니다. 이번 주 디블로터는 ‘네이버 뉴스 스크래퍼’ 제작입니다. 우선 결과물 먼저 보겠습니다. 위 그래프는 11월 한 달간 네이버 주요 뉴스로 배열된 기사의 노출 시간 총합을 그래프로 나타낸 것입니다. 단위는 ‘초’입니다. 수치가 높을수록 네이버에서 주요뉴스로 노출이 많이 됐다는 뜻입니다. 위 그래프를 읽으면서 참고해야 할 사항은 다음과 같습니다 위 그래프는 평균노출 시간이 아니라 노출 시간의 총합입니다. 기사 생산량을 고려하진 않았습니다. 방송사의 경우는 저녁에 주요뉴스가 나오고, 다음 날 아침에 내려가는 경우가 많으므로...

R

[디블로터] ⑦선형회귀와 감자칩, R 마크다운

“데이터과학자 : 명사. 어떠한 소프트웨어 공학자보다 통계학을 잘 알고, 어떠한 통계학자보다 소프트웨어 공학을 잘 아는 사람 – 조시 윌스” 대학교 1학년 1학기 무렵입니다. 그러니까 벌써 7년쯤 흘렀군요. 저는 통계학 입문 수업을 들었습니다. 졸업하기 위해서는 무조건 들어야 하는 과목이었습니다. 가뜩이나 수I을 공부할 때도 통계가 싫었는데 심지어 그 수업은 총 한 학기 동안 4번의 시험을 쳤습니다. 저는 두 번째 시험이 끝나기 전에 통계에 대한 흥미를 완전히 잃어버렸습니다. 다시는 통계를 만나지 않을 줄 알았습니다. 그러나 데이터과학이 뭔지 맛이라도 보려면 그래도 통계에 대해 알아야 합니다. 더디겠지만 조금씩 하다보면 이해할 수 있는 수준은 될 수 있지 않을까 합니다. 오늘 공부할 내용은 가장 기초가 되는 ‘선형회귀’입니다....

R

[디블로터] ⑥‘말끔한 데이터’란?

이번 주 디블로터는 데이터 과학이 무엇인지에 대해 좀 더 짚어보고, 예제 문제를 시도해보는 시간을 가졌습니다. 고석범 선생님의 ‘R과 Knitr를 활용한 데이터 연동형 문서 만들기' 2·3장은 R를 활용하기 위한 기본적인 내용인 설치와 R스튜디오 활용법, 기본적인 문법에 대해서 다루고 있었습니다. 우선 고석범 선생님의 책을 쭉 읽어 나가면서 복습도 좀 하고, 잘 모르는데 뭉개고 지나간 내용도 짚어봤습니다. 무엇보다 '말끔한 데이터'(Tidy data)의 개념을 제대로 이해하지 못했는데 조금 감을 잡게 된 것 같습니다. 그간 디블로터에서 다루지는 않았던 내용도 소개해보려고 합니다. R에서 모르는 게 나오면 어떻게 해야 할까요? R에서 활용할 수 있는 패키지는 5천개가 넘습니다. 물론 본인의 사용 목적에 맞게 유용한 패키지를 위주로 공부한다고 해도 패키지...

Doing Data Science

[디블로터] ⑤데이터 과학 입문 + ‘니터’ 입문

저번 주에 ‘캐글’에 대해서 간단히 알아봤었습니다. 기업 등에서 데이터를 올려주면 문제를 푸는 방식으로 재미있게 공부할 수 있는 사이트입니다. R의 함수들은 실제로 데이터를 만져보고 필요한 함수를 찾아가면서 공부해야 실력이 늘 수 있겠다고 생각했습니다. 일단 기본적인 패키지를 공부했으니 캐글의 데이터를 이용해 실습하기로 했습니다. 지난 블로터 컨퍼런스에 강연자로도 오셨던 고석범 선생님의 책도 보면 좋겠다고 생각했습니다. '니터'(knitr) 패키지를 활용해 ‘재현 가능한 연구’를 만든다는 게 나중에 기사 작성에서도 꽤 유용하겠다는 판단이 들었습니다. 나중에 데이터 시각화로 결과물을 내고, 그 과정을 공유할 때 훨씬 편리하고 깔끔하게 제시할 수 있을 것 같았습니다. 마지막으로 'Doing Data Science'라는 책을 골랐습니다. 오라일리에서 나온 책을 한빛 미디어에서 번역해 출판한 책입니다. 미국에선 대학교...

ggmap

[디블로터] ④‘ggmap’으로 지도를 그려보자

디블로터 4주차에는 'ggmap'(지지맵)을 공부했습니다. 매주 알차게 참고했던 이민호 님의 'DATA AND VISUALIZATION' 깃허브에 있는 내용들은 얼추 다 봤습니다. R의 기초와 간단한 활용을 원하는 분이라면 깃허브에서 차근차근 살펴보는 것도 좋겠습니다. 이번 주에는 꿈꾸는 데이터 디자이너 2기의 ggmap 강의안을 참고해 공부했습니다. R에서 지도를 이용한 매핑을 하는 일은 간단합니다. 우선 지도를 불러오고, 위·경도 데이터를 '지지플롯2'을 사용해 지도 위에 표시하면 됩니다. 우선 지도를 불러오기 위해서는 위도와 경도를 추출해야 합니다. 이 과정을 '지오코딩'이라고 합니다. 우리나라 지도를 불러와 볼까요? install.packages(‘ggmap’) library(ggmap) geocode(‘Korea’, source = ‘google’) 이렇게 하면 위·경도를 얻을 수 있습니다. 보통 위치데이터를 얻을 때는 주소데이터를 얻게 될 경우가 많습니다. 장소를 물어볼 때 위도와 경도로 대답하는...

ggplot2

[디블로터] ③‘ggplot2’로 데이터 시각화하기

디블로터 3주차 스터디에선 ‘지지플롯2’(ggplot2) 패키지를 이용해 시각화하는 방법을 공부했습니다. 데이터 정제 과정을 충분히 공부해서 시각화로 넘어간 것은 아닙니다. 일단 유용한 패키지들을 빠르게 공부하고, 실제로 데이터를 다루면서 배우기 위해 시각화 패키지를 공부했습니다. 얼마 배우지 않았지만, 배울수록 R의 패키지들은 사용법 자체가 어렵진 않은 것 같습니다. 함수의 기능을 이해하기도 쉽고요. 다만 패키지도 많고, 패키지 안에서도 굉장히 다양한 기능이 있습니다. 한 번에 모든 걸 알고 넘어가기보다는 개략적으로 공부하고 실습을 통해 익히는 게 나을 거란 생각이 들었습니다. 이번 주에도 이민호 님의 깃허브 'DATA AND VISUALIZATION'과 R의 공식 치트시트를 참고했습니다. install.pakages(‘ggplot2’) library(‘ggplot2’) R에서도 'plot()' 등 기본적인 그래프를 지원합니다. 자료 특성을 확인하고 맞춰서 제공하기도 합니다. 간편하게 그릴...