R에 대한 기본적인 설명과 한줄 한줄 직접 실행하면서 배울 수 있는 패키지가 R에 있다. 바로 Swirl 이다. 사이트를 둘러보니, 학습자 모드와 교수자 모드를 모두 제공하는 듯 하다. Swirl로 R Programming 학습하기 Swirl은 R 버전 3.0.2 이상만 지원하기 때문에 먼저 R을 최신버전으로 업그레이드 해야 한다. 그리고 일반 패키지를 설치하듯이 swirl 패지를 설치한다. > install.packages("swirl") 그리고 swirl 라이브러리를 로드하고 swirl()을 실행해 강의 모드로 들어가면 된다. 이어서 이름을 물어보면, 본인 이름을 쓴다. (여기서는 mini를 적었다.) swirl 모드의 선택이 나오면, 0을 누르면 swirl을 종료하고 빠져나온다. swirl에서 제공..
먼저 지난번에 설명한 R 데이터셋 처리 함수들의 일부를 살펴보자. table()로 일부 데이터 가져오기 mtcars 데이터셋의 실린더 수를 가지고 str(), summary(), stem()을 적용하면 다음과 같다. str()을 사용하면 R 객체의 구조를 확인할 수 있고, summary()는 데이터에 대한 요약 정보를 보여준다고 했다. 그리고 stem()은 줄기와 잎 형태로 데이터를 재구성해서 출력한다. 하지만 자동차의 실린더 수에 따라 일반적으로 4기통, 6기통, 8기통으로 나눠지기 때문에 이런 이산적인 데이터에 대해서는 위와 같은 형태의 출력보다는 테이블 구조가 더 적합하다. 그래서 table()을 한번 적용해 보면 다음과 같이 출력된다. 전체 자동차에 대해 좀더 확실하게 4, 6, 8기통으로 분류해..
지난번 글에서 R 데이터셋의 명령어들.. head, str, summary, stem, fivenum, hist, boxplot 을 살펴봤다. 이번에는 데이터셋을 정렬하는 명령어를 알아본다. 실전에서도 데이터셋 정렬은 많이 사용하기 때문에 잘 알아두면 많은 도움이 될 것이다. 샘플 데이터 셋은 역시 R에 내장되어 있는 mtcars (1974년 Motor Trend US Magazine에서 추출한 73, 74년식 자동차 32개 데이터)이다. R 데이터 정렬 R에서 데이터 정렬하는 명령어는 order이다. 먼저 mtcars를 읽어온 후, > dtat(mtcars) mtcars 데이터의 mpg(mile per gallon)을 기준으로 order를 실행해 보자. order의 결과값을 실제 mtcars$mpg의 ..
R을 활용하면 다양한 데이터셋을 data.frame으로 읽어서 많은 작업을 할 수 있다. 어떤 작업들이 가능한지 R에서 데이터셋을 처리하는 함수를 중심으로 살펴보기로 하자. Motor Trend Car Load Test 예제로 사용할 데이터셋은 R에 내장되어 있는 mtcars이다. 이 데이터는 1974년 Motor Trend US magazine에서 추출한 것으로 1973년, 1974년 모델의 32개 자동차들의 디자인과 성능을 비교한 것이다. help 명령어로 데이터 포맷 등을 먼저 살펴보기 바란다. > help(mtcars) 데이터셋의 정보 확인 먼저 mtcars 데이터를 가져와 보자. 데이터셋을 가져오기 위해서 간략하게 data() 함수를 호출하면 된다. > data(mtcars) 32개의 자동차의 ..
R 패키지 R 사이트에 접속해보면 다양한 R 패키지들이 있는 것을 확인할 수 있다. http://cran.r-project.org/web/packages/available_packages_by_name.html 이러한 R 패키지를 이용하면, R을 활용해 보다 다양한 작업들을 할 수 있다. 그럼 R 패키지를 설치하는 방법을 알아보기로 하자. R 패키지 설치 먼저 현재 사용하고 있는 R 패키지를 확인할 필요가 있다. 새로운 패키지 설치는 install.packages()를 활용해서 처리한다. 미니의 R 주요 강좌... 데이터 통계 분석을 위한 R 설치와 활용 R 실행을 위한 기본적인 내용들~ R 데이터 구조에 대한 정리 R 패키지 설치하기 R 데이터셋 처리 함수들에 대한 간단한 정리~ R 데이터셋 정렬하기~..
R을 사용하면서 특정 파일에서 데이터를 읽어 분류하고 관계를 확인해야 하는 경우가 많이 있다. 이런 경우, 활용할 수 있는 간단한 예제를 살펴보도록 한다. (노만 매트로프의 빅데이터 분석 도구 R 프로그래밍 참조) 먼저 샘플로 사용할 아래 전복(abalone)의 데이터 파일을 다운로드 하자. 파일을 열어보면 다음과 같이 컴마(,)로 구분된 CSV 파일임을 알 수 있다. 여기에서 성별(Gender)에 따라 전복의 직경(Diameter)과 길이(Length)가 변화가 있는지 살펴보려고 한다. 전체 소스는 다음과 같다. read.csv 함수를 통해서 abalone.data 파일을 읽어들인다. 옵션을 살펴보면 헤더를 인식하도록 True값으로 설정했다. grps라는 빈 리스트 변수를 만들고 여기에 수컷과 암컷으로..
우분투에 R을 설치하기 위해 간단하게 apt-get을 사용하면 됩니다. $ sudo apt-get update $ sudo apt-get install r-base $ R 쉘에서 R을 입력하면 R 콘솔이 나타나게 됩니다. 기본적으로 R은 수많은 패키지를 사용할 수 있다는 장점이 있습니다. R 콘솔에서 다음과 같은 명령어로 필요한 패키지를 추가로 설치할 수 있습니다. > install.pakages("RMySQL") 그런데 패키지에 따라서 다음과 같은 오류 메시지가 나올 수 있는데요. Warning in install.packages : package ‘gplots’ is not available (for R version 2.14.1) 이때는 R 콘솔에서 쉘로 나가서 apt-get으로 찾아서 설치하면 됩..
두 변수 간의 통계적인 관계 측정 방식으로 사용하는 상관관계 측정으로 피어슨 상관계수, 스피어만 상관계수 등이 있다고 합니다. 피어슨 상관계수는 두 변수 X와 Y가 함께 변하는지와 따로 변하는지의 비율로 계산하는 것으로 가장 많이 사용된다고 합니다. X와 Y가 완전히 동일하면 +1, 완전히 다르면 0, 반대방향으로 동일하면 -1 값을 가진다고 하네요. 스피어만 상관계수는 자료의 값 대신 순위(랭킹)을 기준으로 상관관계를 계산하는 방식이라고 합니다. 이 값은 -1과 1 사이의 값을 가지는데, 두 변수의 순위가 완전히 일치하면 +1, 완전히 반대면 -1이 된다고 합니다. 스피어만 상관계수와 같이 순위를 기준으로 값을 측정하는 캔달의 타우도 있다고 하네요. 이번에 살펴볼 R 예제는 기온과 기압과 같은 시계열 ..
다음과 같은 날씨가 있다고 가정해봅시다. 비가 조금이라도 온 날을 1로 보구요.. 맑은 날을 0이라고 해보죠.. 그리고 나서 일정 기간의 데이터를 보고 앞으로 비가 올지 안올지를 예측해 보는 겁니다. 먼저 위의 날씨를 R의 벡터로 표시하면 다음과 같이 할 수 있을 것입니다. 앞으로의 날씨를 예측하는 부분의 알고리즘은 여기에서는 쉽게 다수결로 한다고 생각해 보겠습니다. k라는 수를 정하고, k값이 3이면 이전 3일 데이터를 가지고 1과 0중 더 많이 나온 것을 보고, 그날의 날씨를 예측해 보는 것이죠. 위 예에서는 1일에서 3일까지의 (0, 1, 1) 세개를 보고 1이 많으므로, 4일째도 1이 나온다고 예측한다는 것이죠. (즉, 비가 온다는 것입니다.) 한번 더 생각해볼까요? k값이 5이고, 위 그림의 9..
R을 어떻게 하면 쉽게 이해할 수 있을까? 생각해봤습니다. 모든 프로그래밍 언어가 마찬가지겠지만 실제 적용하는 사례로 보는 것이 가장 좋은 방법이 아닐까 합니다. 그래서 지금부터 R에 대해서 "빅데이터 분석 도구 R 프로그래밍(노만 매트로프 지음)"의 예제로 정리해 보려고 합니다. 첫번째는 매우 쉬운 예제이기는 하지만 기본적인 R을 이해하는데 도움이 될 것 같아서 진행해 봅니다. 0과 1로만 이루어진 벡터가 있을 때, 1이 연속으로 나오는 부분을 찾는 함수입니다. 즉, (1,0,0,1,1,1,0,1,1)과 같은 벡터가 있을 때, 1이 연속으로 세번 나오는 곳을 찾으면 4가 되겠죠.. 중요한 부분이 R에서의 벡터는 1부터 시작한다는 점입니다. C/C++에 익숙했던 분들은 0부터 시작한다고 생각할 수도 있지..