ggmap과 네이버 맵 연동

어제 저녁부터 ggmap에 네이버 맵 연동을 해볼 생각으로 코딩을 좀 했는데, 쓸만한 수준의 구현체가 나와 공유하고자 글을 쓴다. ggmap이 위치 정보 시각화에 상당히 편리한 패키지임에도 국내 전용 지도가 아니어서 다양한 정보를 접할 수 없는 불편한 점이 있었는데, 네이버 staticmap API를 이용해 이 부분을 해결했다. 이걸 구현하는데, 지도의 X,Y 좌표와 그래프의 X,Y 좌표 연동을 하는게 가장 […]

계속 읽기

윈도우 R 수학연산 성능 향상 시키기

  금번 포스트에서는 윈도우 버전의 R의 계산 성능을 향상시키는 팁을 올려본다. 이는 물론 이 문서 에서 힌트를 얻었다는 것을 미리 알려두며, 윈도 버전의 BLAS 라이브러리의 컴파일된 바이너리가 인터넷에 존재해서 가능했다는 점을 미리 밝혀둔다.   만일 그렇다면 직접 윈도우에서 빌드를 하는 수고를 했어야 했다. 리눅스 버전의 경우 심지어 직접 소스를 빌드해야 되며 환경마다 다른 설정이 필요한 부분이 […]

계속 읽기

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

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

계속 읽기

R 3.0.0 릴리즈

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

계속 읽기

KoNLP 0.76.8 업데이트

어제 cran에 새 KoNLP 바이너리들이 올라갔다. 저사양 윈도우 머신에서 VM이 생성되지 않아 패키지 사용을 못한 분들은 업데이트 하시면 잘 동작하리라 믿는다. 금번 버전에서 달라진 점은 쓸모없는 함수 정리와 모듈 정리로 패키지 용량이 상당히 줄었다는 것과, 심심치 않게 받아왔던 저사양(?) 윈도우 유저들의 자바 VM 생성 오류를 해결했다는 것이다. 무엇보다 이 오류를 위해 기꺼이 리포팅 해주시고, 많은 […]

계속 읽기

KoNLP에서 아래와 같은 에러가 나올 경우 대처 방법

library(KoNLP) 패키지 rJava를 로드중입니다 패키지 bitops를 로드중입니다 패키지 Sejong를 로드중입니다 Successfully Loaded Sejong Package.Java initialized. Error : .onLoad failed in loadNamespace() for ‘KoNLP’, details:call: .jinit(parameters = c("-Dfile.encoding=UTF-8", "-Xmx512m"))error: Cannot create Java virtual machine (-1)에러:’‘KoNLP’’ 에 대한 패키지/네임스페이스 로드가 실패했습니다 사실 위의 에러가 KoNLP와 독립적인 문제라는 것은 아래 명령어로 확인해 보면 된다.   library(rJava) .jinit() 대부분의 […]

계속 읽기

KoNLP 0.76.5 업데이트

금번 업데이트에서 크게 변경된 부분은 사용자 사전 데이터 추가의 용이성이다. 예를 들어 아래와 같다. useSystemDic() # Backup was just finished! # 13 words were added to dic_user.txt. mergeUserDic(data.frame("삼성전자", "ncn")) # 1 words were added to dic_user.txt. extractNoun("삼성전자에서는 아이폰에 대항할 무기를 준비하고 있다.") # [1] "삼성전자" "아이폰에" "대항" "무기" "준비" mergeUserDic(data.frame("아이폰", "ncn")) # 1 words were […]

계속 읽기

KoNLP 0.76 업데이트

약 일주일 정도의 작업과 우역곡절 끝에 KoNLP 0.76 업데이트에 성공했다. 현재 윈도우 바이너리 버전 배포가 확정되었고, 맥 버전이야 거의 리눅스에서 돌아가면 빌드에 별로 문제가 없다.   내부적으로 많은 코드 변화가 있었으나, 사용자들은 잘 인지하기 힘들듯 하다. 일단 바뀐 부분은 사전 데이터를에 대해서 zip파일에 압축해서 배포하고(Sejong 패키지), 이에 대해 압축을 풀지 않고 바로 메모리로 읽어들이는 방식으로 […]

계속 읽기

KoNLP 0.75 업데이트

R core팀에서 지리하게 요청하던 사전과 로직 분리 작업을 마쳤다. 따라서 KoNLP패키지의 용량이 크게 줄었고, 코퍼스나 사전은 모조리 Sejong에 몰아 넣었다. Sejong의 배포 크기를 얼마로 제한을 할지 모르겠지만, 앞으로 세종계획에서 나온 리소스들이 그쪽으로 들어가지 않을까 한다. KoNLP의 dependency가 Sejong에 걸려있기 때문에 KoNLP의 새로운 버전을 업데이트 하게되면 아래와 같은 화면이 출력된다.   > install.packages("KoNLP") Installing package(s) into […]

계속 읽기

R Hangul toy speller

이래저래 1시간 정도 걸려서 toy 한글 스펠러를 만들어 봤다. 약 50줄정도 되는 아주 간단한 코드로 만들어 본건데, KoNLP의 두가지 핵심 함수를 사용하고 KoNLP 패키지에 포함된 한나눔 분석기 시스템 사전을 활용했다. 다른 핵심 함수로 Edit Distance 계산을 위한 함수가 있는데, 이것은 직접 구현을 하려다가 R cba 패키지에 너무 구현이 잘 된 함수가 있어서 그것을 사용했다. 이 […]

계속 읽기