본문 바로가기

분류 전체보기

R Oracle Connection 지난번 R DB Connection 글에서 R에서 RDBMS에 Connection하는 방법을 알아보았다.지난 글에서는 MySQL를 접속했었는데 Oracle접속하는 방법도 간단하다. ojdbc.jar파일을 다운로드 받은 후 특정폴더에 복사한다.여기서는 지난 MySQL과 마찬가지로 /usr/share/java 폴더로 복사였다. Oracle connection 소스는 아래와 같다. 자세한 사항은 지난 R DB Connection을 참고하기 바란다.library(DBI) library(RJDBC) library(rJava) drv 더보기
R svn commit history 시각화 이번에는 사내에서 진행중인 한 프로젝트의 svn commit history를 이용한 간단한 시각화 방법이다. svn commit history 가져오기Eclipse에서 해당 프로젝트의 Show History를 가져와 정보를 파일(txt)로 저장한다. Eclipse Generate ChangeLog 저장된 파일은 아래와 같이 commint순번, 아이디, 날짜, 수정된 파일 리스트로 되어있다.r799 | y2kpooh | 2014-02-21 10:54:35 KST| Changed paths:D /trunk/~~~.xml r798 | y2kpooh | 2014-02-21 10:53:21 KST| Changed paths:D /trunk/~~~.jspD /trunk/~~~.xml R data 핸들링우선 작업에 .. 더보기
R boxplot을 이용한 출근시간 분석 및 시각화 사내 근태관리 시스템에서 출퇴근 데이터를 이용하여 사내직원의 출퇴근 성향을 파악해보려 한다.이를 위하여 boxplot을 사용해보고자 한다. boxplot이란?최대값, 최소값, 중앙값, 사분편차를 사용하여 자료의 측정값들이 어떤 모양으로 분포되어 있으며, 극단값들은 어떠한지 등을 쉽게 알 수 있도록 하는 그림이다. 자료들이 비대칭으로 분포되어 있을 경우에는 상자그림을 그려 극단값의 개수, 비대칭 여부 등을 파악할 수 있으므로 측정값들의 중심위치와 산포도의 척도로 사용할 수 있다.[네이버 지식백과] 상자그림 [box plot, box and whisker plot] boxplot 해석을 돕기 위한 그림(출처) boxplot분석우선 데이터 전처리 작업을 진행하였다. DB에 저장된 직원별 근태정보에서 출퇴근시간.. 더보기
Naver Maps + D3.js 지난 Google Map + D3.js에 이어 Naver Maps API를 이용하여 Naver Map과 D3.js를 연동해보자. 우선 Naver Map 객체를 생성한다.Naver Map도 Google Map과 마찬가지로 MapOption 줌레벨, 지도유형 등을 세팅 가능하다.자세한 사항은 여기를 참고하기 바란다. var map = new nhn.api.map.Map('map' ,{ point : new nhn.api.map.LatLng(37.556059, 126.91009), zoom : 8, enableWheelZoom : true, enableDragPan : true, enableDblClickZoom : false, mapMode : 0, activateTrafficMap : false, acti.. 더보기
Google Maps + D3.js Google Map위에 D3.js를 이용하여 마커 혹은 차트를 랜더링 하는 방법을 알아보자. 우선 Google Map 객체를 생성해보자.Google Map 객체는 MapOption 줌레벨, 지도유형 등을 세팅 가능하다.자세한 사항은 여기를 참고하기 바란다. var map = new google.maps.Map(d3.select("#map").node(), { zoom: 12, center: new google.maps.LatLng(37.556059, 126.91009), mapTypeId: google.maps.MapTypeId.ROADMAP }); 여기서는 줌레벨과 초기 지도 센터 위도/경도 정보, 그리고 지도유형을 설정하였다. 이제 지도위에 마커정보(위도/경도)와 오버레이 객체를 생성한다.지도위에 마.. 더보기
R data.table 1. data.table? R에는 data handling을 위한 여러가지 패키지들이 있다. 그중 data.table패키지는 가장 많이 사용하는 패키지라 할 수 있다. data.table은 큰 데이터를 탐색, 연산, 병합 하는데 아주 유용하다.data.table의 빠른 속도의 원리는 특정 column을 key값으로 색인을 지정한 후 데이터를 처리한다.따라서 기존의 방식(data.frame)보다 월등히 빠른 속도를 보여준다.현재 data.table 패키지 버전은 1.8.10까지 나와 있으며 R버전 (≥ 2.12.0) 이상부터 지원한다. 2. data.table vs data.frame 여기서 사용하는 데이터 샘플은 titanic data로 여기서 다운로드 받을 수 있다. 가. Data loadlibrary.. 더보기
R 상위버전 설치 Ubuntu를 사용하는 유저라면 R을 아래와 같이 설치할 수 있다. $ sudo apt-get install r-base 설치후 아래와 같은 명령어로 R version을 확인해보면 아마도? 메이비? 2.14 version이 설치되어 있을 것이오!!R.Version()물론 해당 버전으로 R을 사용하는데 크게 문제는 없다. 하지만... 말이오... 일부 Package의 경우 하위 R버전을 지원하지 않는단 말이오!!! 말이오~~~ ^^ 2.15 이상이거나 3.0 이상부터 지원하는 Package도 꽤 많다오... 그래서 우린 뛰어난 똑똑이들이 만들어놓은 Package를 R version의 문제로 사용 못하게 되는 일이 없도록 R 상위버전을 설치할 필요가 있다... 그래서 방법을 알려주겠소... sources.l.. 더보기
R DB Connection R에서 일반적인 분석 방법은 아래와 같다.1. DB에서 분석할 데이터를 가져와 csv, txt와 같은 파일 형태로 생성한다.2. R에서는 각종 read 함수를 이용하여 생성한 파일을 메모리에 올려 분석 작업을 진행한다. 이 방법의 단점은 R에서 분석하기 위해서는 DB에서 데이터를 가공해서 파일로 전달할때 까지 기다려야 한다는 것이다.분석가와 DBA간의 커뮤니케이션에 문제가 있을 경우 위 1,2번의 작업을 몇 차례나 더 해야 할 수도 있다. 그래서 이번에는 R에서 직접 RDBMS를 Conncetion하는 방법을 알아보고자 한다.이 방법의 장점은 SQL을 조금만 알면 분석가는 DBA에게 데이터를 요청할 필요도 없으며 SQL로 쉽게 데이터를 선 정제 후 R에서 분석가능하다. 여기서 부터 아래 작업은 Ubunt.. 더보기
R 상관분석(Correlation) 시각화 상관분석이란? 상관분석(Correlation Analysis)은 확률론과 통계학에서 두 변수간에 어떤 선형적 관계를 갖고 있는 지를 분석하는 방법이다. 두변수는 서로 독립적인 관계로부터 서로 상관된 관계일 수 있으며 이때 두 변수간의 관계의 강도를 상관관계(Correlation, Correlation coefficient)라 한다. 상관분석에서는 상관관계의 정도를 나타내는 단위로 모상관계수 ρ를 사용한다. 상관관계의 정도를 파악하는 상관계수(Correlation coefficient)는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아니다. 두 변수간에 원인과 결과의 인과관계가 있는지에 대한 것은 회귀분석을 통해 인과관계의 방향, 정도와 수학적 모델을 확인해 볼 수 있다. 위키백과 참조 .. 더보기
[Effective Java] private 생성자를 사용해서 인스턴스 생성을 못하게 하자 이번에 정리하고자하는 내용은 챕터 2의 4항목인 "private 생성자를 사용해서 인스턴스 생성을 못하게 하자"이다.블로그 작성 목적은 복습과 이 책을 다 읽고자하는 다짐으로 시작한다. 1. 문제점 프로젝트 진행 시 산술연산이나 배열작업 등의 유틸리티 클래스 류를 많이 만들어 사용한다. 해당 클래스들은 static 메소드와 static 필드로 흔히 구성되어져 있으며 이 클래스들은 인스턴스를 생성하지 못하게 설계되어 있다. 인스턴스 생성이 무의미 하기 때문이다. 하지만 컴파일러는 생성자가 없는 클래스라도 디폴트(default) 생성자를 만들어준다. 여기서 문제점은 javadoc 프로그램으로 생성하는 API 문서에 해당 생성자가 나타나므로 인스턴스가 생성 가능한 클래스로 오인될 수 있다. 2. 해결방법 인스.. 더보기