Skip to content

Posts R (프로그래밍 언어) #
Find similar titles

Structured data

Category
Software

개요 #

R은 통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경이다. 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며 패키지 개발이 용이하다. 생물정보 분야에도 폭넓게 사용된다.

설치 #

R을 설치하기 위해서는 간략히 팩키지 모듈을 이용하여 설치할 수 있다.

리눅스 환경에서 #

Ubuntu나 Debian 계열에서는 다음과 같이 팩키지 관리자를 통해 간략히 설치가 가능하다.

$ sudo apt-get update
$ sudo apt-get install r-base r-dev

또한 R의 인퍼페이스 버전 즉, cross-platform 버전도 간략하게 설치할 수 있다.

$ sudo apt-get install http://download1.rstudio.org/rstudio-0.97.320-amd64.deb

Redhat과 Centos에서는 yum 관리자를 통해 설치가 가능하다.

$ sudo yum update
$ sudo yum install R

설치 후 다음과 같이 명령어를 통해 관련 설치 유무를 확인할 수가 있다.

$ R

정상적으로 설치가 되었다면 다음과 같은 결과를 볼 수 있다.

R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.3.0 (64-bit)

R은 자유 소프트웨어이며, 어떠한 형태의 보증없이 배포됩니다.
또한, 일정한 조건하에서 이것을 재배포 할 수 있습니다.
배포와 관련된 상세한 내용은 'license()' 또는 'licence()'을 통하여 확인할 수 있습니다.

R은 많은 기여자들이 참여하는 공동프로젝트입니다.
'contributors()'라고 입력하시면 이에 대한 더 많은 정보를 확인하실 수 있습니다.
그리고, R 또는 R 패키지들을 출판물에 인용하는 방법에 대해서는 'citation()'을 통해 확인하시길 부탁드립니다.

'demo()'를 입력하신다면 몇가지 데모를 보실 수 있으며, 'help()'를 입력하시면 온라인 도움말      을 이용하실 수 있습니다.
또한, 'help.start()'의 입력을 통하여 HTML 브라우저에 의한 도움말을 사용하실수 있습니다
R의 종료를 원하시면 'q()'을 입력해주세요.

>

윈도우 환경에서 #

R Project 홈페이지의 Download 메뉴 아래의 CRAN(Comprehensive R Archive Network)을 클릭하면 R의 소스나 배포판, 패키지, 문서 등을 제공하는 미러 사이트 목록을 볼 수 있다. 여기서 원하는 미러 사이트로 이동하면 R IDE 인스톨러를 다운 받을 수 있다. 한국의 경우 작성일 기준으로 서울대 보건대학원과 UNIST에서 미러사이트를 운영하고 있다. 그리고 'Download R for Windows' 와 'base'를 순서대로 클릭하여 이동하고 'Download R 3.3.3 for Windows'(버전은 다를 수 있음)을 클릭하여 인스톨러를 다운받아 실행하면 설치가 완료된다.

RStudio #

CRAN에서 받을 수 있는 R IDE는 기본적인 R 코드의 실행과 패키지 설치 및 그래픽 인터페이스를 제공한다. 하지만 정말 기본적인 기능들만 제공하기 때문에 여기에 불편함을 느낀 개발자들이 조금더 매끄러운 인터페이스와 편의적인 기능들이 추가하여 만들어낸 R IDE가 RStudio 이다. 설치방법 방법은 링크를 참조하면 된다. 주의사항은 CRAN에서 제공하는 R IDE를 설치한 후에 RStudio를 설치하면서 R 이 설치된 경로를 지정해줘야 RStudio에서 R 코드를 실행할 수 있다. 즉, RStudio는 R 코드를 대신 실행해 주는 껍데기 일뿐 R이 아니다.

기초 노하우 #

역슬러시는 두번씩 입력 #

어떤 파일 위치를 절대경로로 표기 할 때 예를 들면 다음과 같이 표기한다.

"C:\data\example_data.txt"

윈도우 운영체제에서 디렉토리명을 구분짓는 역슬러시('\')는 프로그래밍 언어에서 특수기호를 인식시키는 용도로 사용(예, '\n'은 줄바꿈기호, '\t'는 탭문자)되기 때문에 예제와 같은 윈도우체계의 파일경로를 그대로 소스코드에서 사용하면 항상 에러가 난다. 이 경우 아래와 같이 역슬러쉬를 두 번씩 이어서 입력하면 처리된다.

"C:\\data\\example_data.txt"

**(추가)

Plot의 dot 모양과 색깔 지정 및 범례(legend) 달기 #

예를 들어 다음과 같은 데이터가 있고,

ID  지역  지역구 위도  경도
1   서울  용산구 37.532  126.979
2   울산  울주구 35.539  129.199
3   광주  광산구 35.164  126.752
4   대전  유성구 36.375  127.329
5   부산  동래구 35.209  129.08
6   서울  강남구 37.496  127.063
7   울산  동구  35.518  129.431
8   광주  북구  35.192  126.922
9   대전  대덕구 36.411  127.438
10  부산  해운대구    35.18   129.158

위도와 경도를 각각 x축과 y축으로 dot plot을 그리고자 할 경우 이렇게 출력할 수 있다.

> plot(data$경도, data$위도, xlab="경도", ylab="위도", main="샘플링 지역")

이때 dot이 기본값으로 지정된 작은 동그라미로만 출력되는데 "지역"필드 별로 다른 값을 주고자 할 경우 plot()에 pch라는 파라메터에 각 레코드마다 부여할 dot 값을 입력해 주면 된다.

> plot(data$경도, data$위도, xlab="경도", ylab="위도", main="샘플링 지역", pch=c(1,2,3,4,5,1,2,3,4,5))

그런데 이 경우 지역이 5개이고 데이터도 많지 않아 일일이 pch 값을 지정해 줄 수 있지만 데이터가 많을 경우에는 매우 번거로워진다. 이 경우 as.integer()를 활용하여 구분하고자 하는 필드의 값을 숫자로 변경후 plot()의 pch에 입력해 주면 된다.

> group <- as.integer(data$지역)
> group
 [1] 4 5 1 2 3 4 5 1 2 3
> plot(data$경도, data$위도, xlab="경도", ylab="위도", main="샘플링 지역", pch=group)

마찬가지로 dot의 색깔도 plot()의 col 이라는 파라메타에 같은 방법으로 지정해 줄 수 있다.

> plot(data$경도, data$위도, xlab="경도", ylab="위도", main="샘플링 지역", pch=group, col=group)

그리고 plot의 legend도 다음과 같이 추가해 줄 수 있다. 이때 legend()의 pch와 col은 앞에서 선언한 group 을 그대로 사용하면 숫자로 변환된 순서가 달라 plot과 맞지 않을 수 있으므로 rep()를 활용하여 다음과 같이 실행한다.

> lg <- rep(1:length(levels(data$지역)))
> legend("topright", legend=levels(data$지역), pch=lg, col=lg)

**

예제 #

CSV 파일을 읽어 Dataframe 객체로 다루려면 다음처럼 코딩한다.

> dataframe <- read.csv("mydata.csv", header=T)

CSV 파일의 header를 인식하여 자동으로 표 객체 (dataframe)을 만든다.

Incoming Links #

Related Data Sciences #

Related Articles #

Related Etcs #

Related Bioinformaticses #

Suggested Pages #

Other Posts #

0.0.1_20140628_0