R 미러링 서버 로그 분석

예전에 한국 cran 미러링 서버를 구축하면서 미러링 서버의 웹 서버 로그를 기반으로 몇 가지 시각화를 해서 공개 세미나에서 분석 결과를 공유했던 적이 있었다. 사실 이런 로그 공개 작업에 대해서 개인적으로 고민한 적이 있었는데, 얼마전에 RStudio에서 관련 작업을 했던 결과를 공개하고 말았다. 그러면서 나도 로컬 cran 미러링에서 RStudio로 넘어오게 되었는데, 이 이유는 RStudio의 미러렁 서버가 AWS […]

계속 읽기

R을 이용한 검색 랭킹과 검색 클러스터링 초간단 구현

KoNLP와 같이 쓰면 정말 좋은 R 패키지중에 tm이라는 아주 좋은 패키지가 있다. R에서 텍스트 분석을 한다면 이 패키지를 반드시 쓰게 되어 있다. 이 패키지의 가장 큰 장점은 텍스트를 숫자로 표현하는 대표적인 방법인 Term Document Matrix를 만들어 준다는 것이다. 이것으로 뭘 할지는 이후의 분석에 달려 있겠지만 일단 숫자로 변환된 텍스트는 다른 어떤 R패키지들을 활용하든지 적절한 통계적 […]

계속 읽기

R 기반의 데이터 시각화(5장, 6장 추가)

R 기반의 데이터 시각화(가제) 저자 전희원(madjakarta at gmail.com) 책 소개 필자가 블로그를 운영하거나 기고를 하면서 썼던 글들을 한곳에 정리해 한권의 책으로만들기 위한 목적을 가지고 작업을 했으며, R로 복잡한 통계분석을 하기 보다는 시각화를 중심으로 데이터를 스스로 가지고 놀 수 있는 여러 기법을 소개하고자 한다. ggplot2를 기준으로 하는 시각화가 첫번째 주제로 정리가 될 것이며, 두번째 주제로는 다양한 […]

계속 읽기

R 배치 프로그램 작성시 문제들과 나의 해결책

R로 분석을 하고 나서 주기적으로 돌아가는 배치 프로그램을 작성할 경우가 많다. 이 배치 프로그램을 제작하는 것은 사실 분석 프로그램을 작성하는 것과는 사뭇 다른점이 있으며, 이 부분을 제외하고 나서도 다른 언어하고 상당히 다른 동작을 하는 부분을 쉽게 찾을 수 있다. 가장 먼저 난감했던 점은 대다수의 프로그래밍 언어들이 다른 소스 스크립트나 리소스들을 참조할 때 메인 스크립트 소스파일의 […]

계속 읽기

라즈베리 파이로 R cran 로컬 미러 만들어서 사용하기

라즈베리 파이로 R cran 로컬 미러 만들어서 사용하기 전에 국가기관에 다니는 분이 이와 비슷한 질문을 하신 분이 있었고, 나도 역시 외부 프로젝트 나갈때를 대비해 이런 준비를 할 필요성을 느꼈는데, 이제야 좀 감이 잡혀서 글을 써본다. 문제는 이거다. 외부 네트웍이 전혀 안되는 곳에서 R 패키지 설치하기가 매우 번거롭다. 내 경우엔 필요한 모든 패키지를 USB로 다운 받아가서 […]

계속 읽기

저렴한 시스템에서 대용량 데이터 학습하기

저렴한 시스템에서 대용량 데이터 학습하기 데이터 레코드가 10만개 정도, 그러나 필드가 500개. 그러나 분석가가 가지고 있는 R 시스템은 정말 아주 일반적인 시스템이라 하자. 예를 들어 윈도우 7 32bit, 4GB램… 위의 상황일때 지금같으면 램을 증설하고 윈도우 7 64비트 OS로 바꾸는 작업을 할텐데, 이런 쉬운 결정이야 지금에야 어느정도 가능하지만 불과 몇년전 까지만 해도 간단한 일이 아니었다. 아래 […]

계속 읽기

R 3.0.0 릴리즈

진정으로 빅 데이터 시대에 맞는 R 릴리즈가 된거 같다. 3.0.0으로 버전업을 하면서 20억 레코드 정도의 데이터 프레임을 커버할 수 있는 능력이 생겼는데, 이는 하나의 분석 단위로 어마어마한 크기이며  20억 레코드의 데이터를 발견하기도 쉽지 않을 정도의 크기이다. 이전 버전까지는 64비트 OS지원이 다소 미흡했다. 한마디로 int64를 사용하지 않는 체계를 사용했는데, 그 한계가 금번 버전업에서 풀렸으며 좀더 대용량 […]

계속 읽기

ggthemes 예제들

ggthemes 참고용 이미지들… 패키지에서 제공한 예제 코드들에 대해서 실행한 결과물을 함께 올렸다. 필요할때 찾아서 쓰자! 개인적으론 theme_economist가 제일 맘에 드네.. library(ggthemes) dsamp <- diamonds[sample(nrow(diamonds), 1000), ] (qplot(carat, price, data = dsamp, colour = clarity) + theme_solarized() + scale_colour_solarized("blue")) ## Dark version (qplot(carat, price, data = dsamp, colour = clarity) + theme_solarized(light = FALSE) + scale_colour_solarized("blue")) […]

계속 읽기

The Metropolis-Hastings algorithm

The Metropolis-Hastings algorithm 이전 포스팅인 Rejection sampling 이나 Sampling-Importance-Resampling algorithm과 같이 특정 확률분포 함수로부터 샘플링을 추출해 확률값을 근사시킬 수 있는 알고리즘이다. 다만 마르코프 체인의 개념을 이용해 이전확률값을 기준으로 현재 확률값을 평가해 이 기준에 만족하는 경우 샘플을 수용하고 아닐 경우 과거 샘플을 다시 넣는 방식을 사용한다. 흡사 Rejection Sampling과 개념은 비슷하나 Rejection 샘플링의 경우 샘플을 버리는 […]

계속 읽기

Sampling-Importance-Resampling algorithm

Sampling-Importance-Resampling algorithm 어제에 이어 Sampling-Importance-Resampling algorithm 코드를 올려본다. 물론 책의 코드를 참고했는데, R코드를 구현하다 보니 거의 pseudo코드에 근접하는 것을 알 수 있었다. 이는 시뮬레이션과 데이터에 최적화된 R의 특징 때문이라 생각된다. 특히나 가중치 값에 따라 resampling하는 부분이 함수 하나로 치환되었고 컴퓨팅 속도도 무척 빨라졌다. weight값에 따라 재 샘플링하는 부분이 어떻게 동작하는지 comment된 부분을 참고하는 것도 좋을거 […]

계속 읽기