'Cloud&BigData/R'에 해당되는 글 23건

  1. 2013.08.09 R 데이터 구조에 대한 정리
  2. 2013.07.29 R 실행을 위한 기본적인 내용들~
  3. 2012.11.16 데이터 통계 분석을 위한 R 설치와 활용

R 데이터 구조에 대한 정리

|



R을 활용하기 위한 데이터 구조를 정리해 보도록 하겠습니다. 

일반적인 프로그래밍 언어와 달리 R에서는 벡터가 중요한 역할을 합니다. 



실제로 R에서는 다음과 같은 숫자나 문자열 모두 벡터로 저장됩니다. 



그래서 R에서는 스칼라 혹은 단일한 수치 값은 존재하지 않습니다. 

단일 숫자처럼 보이지만 실제로는 한 개의 원소를 갖는 벡터로 이해하면 됩니다. 


행렬

수학에서는 행과 열로 이루어진 행렬을 많이 사용합니다. 

R에서도 행렬을 데이터 구조로 취급할 수 있는데요..

행의 개수와 열의 개수를 속성으로 가지고 있는 벡터라고 생각하면 됩니다. 


행렬을 만들기 위해서는 rbind()와 cbind()의 두 가지 함수를 제공합니다. 

이름에 나타난 것처럼 열(row) 기준인지 행(column) 기준인지를 나타냅니다. 


다음 예를 살펴보시죠.



리스트

리스트는 벡터 처럼 여러 값들을 가지고 있지만, 서로 다른 데이터 타입으로 이루어져 있을 때 사용합니다. 

리스트의 각 원소를 구분하는 기호는 $입니다. 



이외에도 파일이나 데이터베이스에서 데이터를 읽기 위해 사용하는 데이터 프레임(data.frame) 등이 있으며,

객체 지향 언어이므로 클래스 개념도 존재하는데요.. 

이러한 것들은 추후 필요할 때 정리하도록 할 예정입니다. 


미니의 R 주요 강좌...

데이터 통계 분석을 위한 R 설치와 활용

R 실행을 위한 기본적인 내용들~

R 데이터 구조에 대한 정리

R 패키지 설치하기

R 데이터셋 처리 함수들에 대한 간단한 정리~

R 데이터셋 정렬하기~

R 데이터셋의 일부 데이터 가져오기

R의 lapply, sapply, vapply를 이해하자~

R의 apply, tapply의 활용법을 알아보자~

R의 split 활용

R의 함수 작성 및 활용~

R 시뮬레이션 - 랜덤 변수 샘플링

R 함수에서 캐시 활용하기~

R 디버깅 툴 활용하기~





Trackback 0 And Comment 0

R 실행을 위한 기본적인 내용들~

|



R에 대한 기본 실행 방법부터 간단한 사용법까지 정리해보려고 합니다. 


R 실행

R을 실행하는 방법은 인터렉티브 모드와 배치 모드의 두 가지가 있습니다. 

앞으로의 예제들은 모두 인터렉티브 모드에서 실행하겠지만, 실제 환경에서는 경우에 따라 배치 모드를 활용할 필요도 있으므로 

두 가지 실행 방법을 먼저 정리해 보려고 합니다. 


인터렉티브 모드 

R 설치와 관련해서 "데이터 통계 분석을 위한 R 설치"에서 정리해놨으니 참고하기 바랍니다. 

R이 설치되어 있는 경우, 리눅스/윈도우/맥 어디에서든 터미널에서 R을 입력하면 인터렉티브 모드를 시작할 수 있습니다. 

또는 윈도우나 맥의 경우에는 R 아이콘을 더블클릭해서 실행할 수도 있습니다. 



그럼 인터렉티브 모드에서 간단한 예제를 테스트해보도록 하죠. 



rnorm()은 랜덤하게 임의의 수를 생성하는 함수입니다. 

normal 이라는 표현이 들어가 있으므로 정규분포를 나타내기도 합니다. (평균이 0이고 분산이 1인 정규분포입니다.)

만약 임의의 수에 대한 평균을 구하면 0이 나와야 겠지요.. 하지만 확률이므로 반드시 0이 나오지는 않을 겁니다. 



실제로 0이 나오지 않는군요.. 평균을 mean이라고 하는 것은 "평균에 대한 정리"를 참고하면 좋을 듯 합니다. 

어쨌든 두개의 R 함수를 인터렉티브 모드에서 살펴봤습니다. 


배치 모드

배치 모드는 미리 R 코드를 작성해 두고 CronTab 등으로 주기적으로 실행할 필요가 있을 때 사용할 것입니다. 

다음과 같이 test.R 파일을 텍스트 파일로 만들어 보기 바랍니다. 

pdf("xh.pdf")

hist(rnorm(100))

dev.off()


pdf()는 PDF로 출력할 파일을 지정하는 함수이고, rnorm()은 위에서 설명했습니다. 

hist()는 변수들의 히스토그램을 그리는 함수입니다. 

마지막으로 dev.off()는 열었던 디바이스 장치를 닫으라는 함수입니다. 

위 소스는 임의의 숫자 100개에 대한 히스토그램을 그려서 xh.pdf 파일에 저장하라는 의미가 됩니다. 


터미널에서 다음과 같이 실행하면 위 소스를 배치모드로 실행하게 됩니다. 

$ R CMD BATCH test.R


CMD나 BATCH 명령어는 대소문자를 구분하네요. 

결과는 다음과 같습니다. 



R 기본 사항

이미 몇가지 R 함수들을 살펴봤는데요. 

이외에도 기본적인 사항들을 추가로 좀 더 정리하도록 하겠습니다. 


수학에서는 벡터라는 데이터 셋을 많이 사용합니다. 

R에서도 당연히 벡터에 대한 처리가 많이 발생할텐데요.. 

이러한 벡터를 c()로 나타냅니다. 여기에서 c는 concatenate의 약자입니다. 

다음 예제를 보죠.. 



x라는 변수에 {1,3,5}로 이루어진 벡터를 할당한 것입니다. 

print(x)라고 명시적으로 x를 출력할 수도 있지만, 변수 x만 입력하면 해당 값을 바로 출력하기도 합니다. 



위 예제처럼 x 변수에 다른 벡터를 추가해서 할당할 수도 있습니다. 

이번에는 print() 함수로 값을 출력해봤습니다. 


일반적인 C나 C++와 달리, R에서의 벡터의 인덱스는 0이 아닌 1부터 시작합니다. 

즉, y[2]를 출력하면 3이 나온다는 것이죠.. 



또한 : 을 사용해서 부분집합을 만들 수 있다는 점도 알아두시면 좋습니다. 


이외에도 세부적인 내용은 추후 살펴보기로 하고 주요 명령어를 간단히 정리해 보겠습니다. 

R을 종료할 때는 q() 함수를 사용하는데요. 이때 workspace image를 저장할지 물어봅니다. 

저장하면 사용한 변수들을 다음에도 다시 불러와서 활용할 수 있게 됩니다. 


그리고 도움말은 help() 함수를 사용하면 되구요. 

예제를 살펴보려면 example() 함수를 사용하면 됩니다. 


마지막으로 R에는 내장되어 있는 데이터 셋이 있습니다. 

data() 함수를 통해 확인할 수 있는데요. 100여개 정도의 데이터셋이 있습니다. 

맨 첫번째 나오는 것이 1949년부터 60년까지의 월별 비행기 승객을 나타내는 데이터인데요. 

이 데이터를 통한 평균과 표준편차를 구하는 예제를 넣어봤습니다. 



미니의 R 주요 강좌...

데이터 통계 분석을 위한 R 설치와 활용

R 실행을 위한 기본적인 내용들~

R 데이터 구조에 대한 정리

R 패키지 설치하기

R 데이터셋 처리 함수들에 대한 간단한 정리~

R 데이터셋 정렬하기~

R 데이터셋의 일부 데이터 가져오기

R의 lapply, sapply, vapply를 이해하자~

R의 apply, tapply의 활용법을 알아보자~

R의 split 활용

R의 함수 작성 및 활용~

R 시뮬레이션 - 랜덤 변수 샘플링

R 함수에서 캐시 활용하기~

R 디버깅 툴 활용하기~





Trackback 0 And Comment 0

데이터 통계 분석을 위한 R 설치와 활용

|



R 소개

빅데이터 처리 기술 중에 최근 인기있는 R 에 대해서 간략하게 소개합니다. 

R은 통계, 그래픽 작업, 통계적 프로그래밍을 하는데 매우 효과적인 툴입니다. 

기존의 SAS, SPSS와 같은 통계 처리 프로그램들이 있었는데요. 

R은 이러한 프로그램을 대신할 수 있는 오픈소스 프로젝트로서 R에서 사용할 수 있는 애드온만 2천개가 넘을 정도로 널리 사용되고 있습니다. 



여러분이 R에 대한 자료를 검색하기는 쉽지 않습니다. 

당연히 R을 검색하면 R과 관련없는 수많은 자료들이 나오기 때문이죠. 

R에 대한 자료를 가장 많이 가지고 있는 곳은 당연히 R 프로젝트 사이트입니다. 

http://www.r-project.org


위 사이트에서 R 프로그램 다운로드, 애드온 패키지, 문서, 소스 코드 등을 받아서 살펴볼 수 있습니다. 

혹시 검색이 필요할 때는 R만 다루는 검색엔진을 활용하는 것도 좋은 방법입니다. 

http://rseek.org


빅데이터에서 R

R을 빅데이터의 대표적인 Hadoop에서 처리하고자 할 때는 몇 가지 사항을 고려해야 합니다. 

일단, R은 Single core / In-memory 기반으로 동작합니다. 

즉, 하둡과 같은 분산 환경을 지원하고 있지는 않다는 것이죠. 


이를 위해 몇몇 벤더를 중심으로 R-Hadoop, R-Hive 등이 개발되어 사용되고 있기도 합니다. 



R 설치 및 활용

R의 설치는 간단합니다. R 프로젝트 사이트에서 바이너리를 받으면 윈도우, 맥, 리눅스에 모두 설치할 수 있습니다. 

R 다운로드 페이지로 이동하면 국가별 선택이 나오는데요. 

우리나라는 다음 사이트에 미러링이 되어 있네요. 

http://cran.nexr.com/


저는 여기에서 Mac 버전을 받아서 설치해봤습니다.

 

패키지 버전을 받으니 일반적인 설치 프로그램이 나타나서 쉽게 진행할 수 있습니다. 


이제부터는 R 프로그램을 이용해서 테스트를 해 보시면 됩니다. 


배열을 c("", "", "") 와 같은 형태로 적용해 보고, help.start()와 같은 도움말이나 평균값, 중앙값 등을 계산해봤습니다. 

이외에도 R 책이나 자료를 살펴보면 보다 많은 내용을 테스트해 볼 수 있을 것입니다. 


실제 프로그래밍에서 활용하기 위해서는 MySQL을 연동하는 RMySQL이나 Text/CSV 파일을 불러오거나 저장하는 방법도 알아야 할 거구요. 

Java에서 사용할 수 있는 rJava, 콘솔에서 스크립트로 사용하는 방법 등도 좀 더 살펴봐야 할 것 같네요. 


미니의 R 주요 강좌...

데이터 통계 분석을 위한 R 설치와 활용

R 실행을 위한 기본적인 내용들~

R 데이터 구조에 대한 정리

R 패키지 설치하기

R 데이터셋 처리 함수들에 대한 간단한 정리~

R 데이터셋 정렬하기~

R 데이터셋의 일부 데이터 가져오기

R의 lapply, sapply, vapply를 이해하자~

R의 apply, tapply의 활용법을 알아보자~

R의 split 활용

R의 함수 작성 및 활용~

R 시뮬레이션 - 랜덤 변수 샘플링

R 함수에서 캐시 활용하기~

R 디버깅 툴 활용하기~





Trackback 0 And Comment 0
prev | 1 | 2 | 3 | next