Posts
R (프로그래밍 언어)
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Software
Table of Contents
개요 #
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 (DataScience 0) #
- R (프로그래밍 언어)/Bioconductor/DNAcopy
- R (프로그래밍 언어)/Package Installation Problem
- R (프로그래밍 언어)/VennDiagram
- R (프로그래밍 언어)/miniCRAN
- R (프로그래밍 언어)/다중검정보정
Related Articles (Article 1) #
Related Etcs (Etc 2) #
Related Bioinformaticses (Bioinformatics 3) #
- R (프로그래밍 언어)/APE
- R (프로그래밍 언어)/Bioconductor
- R (프로그래밍 언어)/Bioconductor/CODEX
- R (프로그래밍 언어)/Bioconductor/DiffBind
- R (프로그래밍 언어)/Bioconductor/GOSim
- R (프로그래밍 언어)/Bioconductor/GOstats
- R (프로그래밍 언어)/Bioconductor/ShortRead
- R (프로그래밍 언어)/Bioconductor/UniProt.ws
- R (프로그래밍 언어)/Bioconductor/Vega
- R (프로그래밍 언어)/Heatmap
- R (프로그래밍 언어)/RCircos
- R (프로그래밍 언어)/glmnet package
- R (프로그래밍 언어)/패키지
Suggested Pages #
- 0.353 OrthoMCL
- 0.097 테라
- 0.066 Pangenome
- 0.045 생물정보학
- 0.044 프로그래밍 언어
- 0.042 R (프로그래밍 언어/MWASTools
- 0.036 Pathway Tools
- 0.034 PersonalizedWeigtLoss
- 0.025 Linkage map
- 0.024 Single cell RNA-seq
- More suggestions...