• Home

“R을 이용한 부동산 데이터 분석 케이스 스터디” 자료 공유

금일 아침부터 행아웃으로 한미 동시에 발표했던 영상과 자료를 공유한다.

이런 식의 발표는 다소 청중의 표정을 볼 수 없어서 답답하긴 했지만 나름 작년에 묵혀둔 자료를 활용해서  “생활 데이터 분석“에 도움을 줬다는데 의미를 두고 싶다.  하지만 올 한해 동안엔 논문에만 집중하기 위해 되도록 이런 발표는 피할 생각이다. ^^;;;

질문중에 “지금 아파트를 사야되나요?” 질문이 무척 재미있었는데, 사실상 분석 행위가 의사 결정을 위한 것이니 이 질문이 대중이 알고 싶어하는 핵심이라는 생각을 해본다.

 

소중한것들에 회귀하는 한해가 되길…

2016년 새해가 밝았다. 참으로 상투적인 표현이다. 새해가 밝았는데, 별로 새로운 느낌은 없기 때문이다.
그렇지만 이런저런 다짐 그리고 과거를 뒤돌아 보는 행위를 하면서 그 느낌을 느껴보려 한다.

작년 한해는 비즈니스 데이터 분석 부분에서 가장 많은 고민을 해왔던 한해였다. 팀에서의 선배로서의 역할 그리고 내가 해야 될 영역의 분석, 다른 조직들간의 커뮤니케이션과 이런 저런 이해되지 않았고 지금도 이해하기 어려운 세속적인 고민들……. 그러나 데이터 분석적인 측면에서 많은 경험을 쌓으려 노력했으며, 어느정도 해당 부분에 성과가 있었다고 본다. 물론 이곳에서 자세한 이야기는 못하겠지만 말이다.
하지만 결과적으로 고민은 많았지만 명시적으로 내것으로 남은건 그다지 많지 않았던 드문 한해였다. 겨우 한달에 한번 썼던 블로그 포스팅 정도가 내 존재를 알렸던 단 하나의 울림뿐이었을 뿐….

이러한 생각들 때문에 개인적으로 작년 말부터 책을 하나 계획해서 틈틈히 집필을 하고 있다. 이 책을 쓰려 하는 이유는 그동안 비즈니스 데이터 분석에 심취해 있으며 느꼈던 맘 한켠의 뭔가 채워지지 않는 느낌 때문이었다.이런 빈 부분은 바로 내가 했지만 내것이 아니다는 생각 때문이었던 것으로 보인다. 왜냐면 비즈니스 데이터 분석 영역은 회사의 중요한 비즈니스 목적에 맞춰져 있어 외부적으로 드러내지 못하는 명백한 한계가 있기 때문이다. 물론 이러한 내용을 책으로 쓰려는건 절대 아니다. 하지만 이런저런 실무 데이터 분석을 해오면서 책에서 보던 기술, 기법과 현실적으로 괴리가 있는 것들에 대해서 후배들이 실수하지 않도록 정리할 수는 있을 것이란 생각이 들었다. 흡사 1차 세계대전 최전방 참호의 진흙탕에서 뒹굴고 피튀기게 싸웠던 선배가 신병들에게 알려줄 수 있는 또하나의 필드 메뉴얼처럼 말이다. 신기하게도 목차를 정리하고 1장을 쓰면서 생각보다 쓸게 많다는 생각에 놀라고 있는 상황이다. 1장을 정리하고 나면 제안서를 들고 출판사를 1월 내에 컨텍할 예정이다.

이러한 책 집필이 올해 첫번째 목표이고, 두번째 목표는 작년 손놓고 있었던 논문 작업에 포커싱할 생각이다. 이를 위해 관련 연구들에 대해서 읽기를 게을리 하면 안될 것으로 보인다. 이 부분이 선행되지 않으면 사실 시작도 어려운 작업이라는 생각이 든다. 그래 시작하자!

세번째 목표는 2년 정도  멀리해두었던 외부강의나 활동을 올해는 활성화 시킬 생각이다. 이런 생각을 한 계기는 2015년 말 평소 존경하시던 분들이 심사위원으로 참여해서 막내 심사위원으로 추천받아 참여했던 Yes24 도서 추천 콘테스트였다. 심사를 하면서 이러한 활동을 거절하는게 아니라 적당한 수준으로 참여해서 나 역시 외부적인 자극을 받아 공부하고 배울 수 있는 창구를 마련해 두는게 낫다는 생각이 들었기 때문이다. 사실 그동안 회사의 데이터 분석 업무에 심취해 모자란 시간 때문에 외부요청이 와도 다른 분들에게 넘기거나 정중히 거절하는 것을 반복해왔다. 하지만 올해는 그런 핑계를 둘러대지 않을 생각이다. 시간이라는 것은 내가 만들기 나름이고 반드시 무엇을 위해서 시간을 비축했다 하더라도 그만큼 효율이 나지 않는 다른 것을 그동안 경험했기 때문이다. 그럴 바에야 나를 바쁘게 만드는게 맞다는 생각이 든다.

마지막 목표는 이 블로그에 있다. 이미 이 블로그는 불행하게도 내것이 아닌게 되었다. 불과 5년 전만 하더라도 이런저런 생각들을 정리하고 발설하는 나만의 창구였지만, 지금은 거의 출판가능한 수준의 글과 소재가 아니면 잘 올리지 않기 때문이다. 물론 그런 소재들이 현재 집필하고 있는 책의 후반부를 장식하고 있지만 앞으로는 좀더 자유로운 주제들로 글을 쓰고 또 자주 쓸 생각이다. 자주쓰는게 무엇보다 중요한것 같다.

살면서 뭔가 회귀할 고향같은 것들이 존재한다는 것은 매우 행복한 상황이란 생각이 든다. 이 블로그가 그렇고, 가족이 그렇다. 다시 예전으로 회귀하는 생활 그게 올해 목표의 총 요약이 되겠다. 여기 오시는 일 1000명 정도의 독자분들도 나름의 회귀할 수 있는 소중한 무언가에 투자하는 한해가 되길 바래본다.

new years!

맥에서 ggplot2 한글 문제 해결 및 개인화 테마 설정

맥에서 ggplot2를 사용할 시 한글표현 문제가 있다는 것은 많은 분들이 공감하고 있을 것이다. 이 부분에 대해서 최근 팀 내 세명의 분석가분에게서 동일한 질문을 받았기 때문에 관련해서 정리를 해보고자 한다. 물론 기본 그래프에서도 그러한 문제가 발생하는데 관련된 문제는 par(family='Unbatang')과 같은 형태로 플로팅 이전에 설정해주면 대부분의 경우 해결된다.

ggplot2의 경우 테마를 건드려야 되는데, 필자의 경우 개인 커스터마이징 테마와 더불어 한글 문제까지 해결을 해서 사용을 하고 있다.

개인적으로 fivethirtyeight의 테마를 좋아하는데 해당 테마를 구현한 ggthemes 패키지에서 x,y 레이블링을 빼먹어 버려서 거의 업무나 블로그에 사용하지 못할 지경이다. 따라서 이 부분을 고쳐서 사용중에 있다.

위 설정들을 .Rprofile에 등록해두면 R을 실행할때마다 해당 코드가 자동으로 실행되어 몇가지 간편한 작업들에 대해서 신경쓰지 않고 미리 적용할 수 있는 장점이 있다.

금번 포스팅은 필자가 위 문제를 해결하기 위해 개인적으로 설정해서 사용하는 .Rprofile의 특정 부분을 공유하도록 해보겠다.

참고로 .Rprofile은 두가지 종류가 있다. 시스템 계정내 모든 R유저가 공유하는 것과 개인 계정만 적용가능한 파일이 있는데, 맥의 경우 개인용도이기 때문에 개인의 home 경로에 위치 시키면 되는데, 필자의 경우 /Users/gogamza/.Rpfofile이 되겠다.

#시스템에 설치된 나눔고딕을 사용하기 위해 extrafont 패키지를 설치했다. 
#관련 내용은 http://blog.revolutionanalytics.com/2012/09/how-to-use-your-favorite-fonts-in-r-charts.html 참고

suppressPackageStartupMessages({
library(ggplot2)
library(ggthemes)
library(extrafont)
})


#개인화된 테마 작업
theme_gogamza<- function(base_size = 12, base_family = "NanumGothic"){
     (theme_foundation(base_size = base_size, base_family = base_family) +
        theme(line = element_line(colour = "black"), rect = element_rect(fill = ggthemes_data$fivethirtyeight["ltgray"],
            linetype = 0, colour = NA), text = element_text(colour = ggthemes_data$fivethirtyeight["dkgray"]),
            axis.title = element_text(), axis.text = element_text(),
            axis.ticks = element_blank(), axis.line = element_blank(),
            legend.background = element_rect(), legend.position = "bottom",
            legend.direction = "horizontal", legend.box = "vertical",
            panel.grid = element_line(colour = NULL), panel.grid.major = element_line(colour = ggthemes_data$fivethirtyeight["medgray"]),
            panel.grid.minor = element_blank(), plot.title = element_text(hjust = 0,
                size = rel(1.5), face = "bold"), plot.margin = grid::unit(c(1,
                1, 0.5, 0.5), "lines"), strip.background = element_rect(), panel.margin.x=NULL, panel.margin.y=NULL))
}

#ggplot2 메인 테마로 설정
theme_set(theme_gogamza())

#기본 테마에서 한글 폰트 정의를 하고 싶다면 아래 코드만 실행한다. 
#theme_set(theme_gray(base_family='NanumGothic'))

이렇게 해두면 ggplot2를 로딩할 필요가 없이 아래 명령어로 바로 시각화 결과를 볼 수 있다. ggplot2는 거의 필수 패키지라서 매번 자동으로 로딩이 가능하게끔 관리하는 것이 오히려 낫다. 그것도 맘에 드는 개인화된 시각화 테마와 함께라면 더욱 그럴것이다.

폰트는 역시 개인적으로 좋아하는 나눔고딕체이다.

ggplot(iris, aes(Sepal.Length, Sepal.Width)) + 
  geom_point(aes(colour=Species)) + ggtitle("나눔고딕체 제목")

plot of chunk unnamed-chunk-3