R이란?
R은 통계 분석과 그래프 작성 및 데이터 과학에 특화된 프로그래밍 언어이자 개발 환경입니다.
생물정보학은 생물학적 데이터를 분석하고 해석하는 학문으로, 유전자 서열, 단백질 구조, 유전자 발현 데이터 등 다양한 형태의 데이터를 다룹니다.
R은 이러한 데이터의 분석을 효율적으로 수행할 수 있도록 다양한 패키지와 기능을 제공합니다.
역사와 배경
- R은 1990년대 중반 뉴질랜드 오클랜드 대학교의 로스 이하카(Ross Ihaka)와 로버트 젠틀맨(Robert Gentleman)에 의해 개발되었습니다.
- 이름 'R'은 개발자 이름의 첫 글자에서 따온 것이며, 통계 계산 소프트웨어인 'S' 언어에서 영향을 받았습니다.
특징
- 오픈 소스: R은 GNU GPL 라이선스 하에 무료로 제공됩니다.
- 강력한 패키지 시스템: CRAN(Comprehensive R Archive Network)을 통해 수천 개의 패키지가 제공되어 다양한 통계 및 그래픽 작업을 지원합니다.
- 데이터 처리 및 분석: 데이터 전처리, 통계 분석, 시각화 등 다양한 데이터 과학 작업에 최적화되어 있습니다.
- 그래픽 기능: 고품질의 그래픽과 데이터 시각화를 쉽게 생성할 수 있는 도구들이 내장되어 있습니다.
주요 사용 분야
- 통계 분석: 다양한 통계 모델링과 테스트를 지원합니다.
- 데이터 시각화: ggplot2와 같은 강력한 패키지를 통해 복잡한 데이터를 시각화할 수 있습니다.
- 데이터 마이닝: 데이터 탐색과 패턴 인식에 널리 사용됩니다.
- 머신 러닝: 다양한 머신 러닝 알고리즘을 적용하고 분석할 수 있습니다.
생물정보학에서 R의 주요 용도 및 패키지
- 유전자 서열 분석:
- Bioconductor: R의 가장 중요한 생물정보학 패키지 모음입니다. 유전자 서열 데이터 분석, 마이크로어레이 데이터 분석, RNA-Seq 데이터 분석 등 다양한 생물정보학 작업을 지원합니다.
- Biostrings: DNA, RNA, 단백질 서열을 다루기 위한 패키지입니다. 서열 검색, 서열 정렬, 서열 조작 등을 수행할 수 있습니다.
- 유전자 발현 분석:
- edgeR: RNA-Seq 데이터의 차등 발현 분석을 위한 패키지입니다.
- DESeq2: RNA-Seq 데이터에서 차등 유전자 발현을 분석하는 데 사용됩니다.
- limma: 마이크로어레이 데이터와 RNA-Seq 데이터의 차등 발현 분석에 널리 사용됩니다.
- 기능적 해석:
- clusterProfiler: 유전자 군집의 기능적 해석을 위한 패키지로, 유전자 온톨로지(GO) 분석과 경로 분석을 지원합니다.
- topGO: 유전자 온톨로지(GO) 항목의 과다표현 분석을 수행할 수 있습니다.
- 단백질 구조 분석:
- Bio3D: 단백질의 3차원 구조 분석을 위한 패키지입니다. 단백질의 구조 정렬, 구조 클러스터링, 구조 네트워크 분석 등을 지원합니다.
- 유전자 네트워크 분석:
- WGCNA: 가중 유전자 공동 발현 네트워크 분석을 위한 패키지입니다.
- igraph: 네트워크 분석 및 시각화를 위한 패키지로, 유전자 네트워크 분석에 활용됩니다.
- 데이터 시각화:
- ggplot2: 강력하고 유연한 데이터 시각화 도구로, 복잡한 생물학적 데이터를 시각화하는 데 자주 사용됩니다.
- pheatmap: 유전자 발현 데이터의 히트맵을 생성하는 데 유용합니다.
장점과 단점 (생물정보학 측면)
- 장점:
- 다양한 패키지: Bioconductor를 비롯한 다양한 생물정보학 패키지가 존재하여, 여러 생물학적 데이터를 분석할 수 있습니다.
- 재현 가능성: R의 스크립트를 통해 분석 과정을 쉽게 기록하고 재현할 수 있습니다.
- 강력한 시각화 도구: ggplot2와 같은 패키지를 통해 데이터를 시각적으로 효과적으로 표현할 수 있습니다.
- 커뮤니티 지원: 활발한 사용자 커뮤니티와 풍부한 온라인 자료를 통해 문제 해결과 학습을 지원받을 수 있습니다.
- RStudio와 같은 통합 개발 환경(IDE)을 통해 사용이 매우 편리합니다.
- 다수의 데이터 형식과 호환 가능하며, 다양한 데이터베이스와의 연동이 용이합니다.
- 단점:
- 학습 곡선: R과 생물정보학 관련 패키지를 처음 접하는 경우, 학습에 시간이 걸릴 수 있습니다.
- 성능: R은 메모리 기반 언어로 매우 대용량 데이터의 경우 메모리 사용과 성능이 제한될 수 있습니다.
- 다른 프로그래밍 언어에 비해 실행 속도가 느릴 수 있습니다.
생물정보학 분야에서 R을 사용하는 것은 데이터 분석과 시각화를 보다 효율적이고 강력하게 수행할 수 있게 해줍니다. R을 통해 다양한 생물학적 데이터를 분석하고 해석하는 기술을 습득하면 연구의 질을 높일 수 있습니다.
R 패키지 시스템 개요
- 패키지(Package):
- R 패키지는 데이터 객체(Object)와 함수(Function)를 포함하는 모듈입니다.
- 패키지는 특정 작업을 수행하기 위한 코드의 집합으로, 필요한 기능을 추가로 제공하여 R의 기본 기능을 확장합니다.
- Base System과 Package의 관계:
- Base System: R의 기본 시스템으로, 가장 핵심적인 기능과 기본 패키지를 포함합니다.
- 패키지: Base System 위에 추가적으로 설치되어 사용되는 모듈입니다. Base System이 제공하는 기본적인 기능 외에 추가적인 분석 도구와 기능을 제공합니다.
패키지 설치 및 로드 방법
패키지는 설치 방법과 로드 방법에 따라 세 가지로 분류됩니다.
- Base packages (기본 패키지):
- 설치: R을 설치할 때 자동으로 설치됩니다.
- 불러오기: 자동으로 로드되며, 따로 로드할 필요가 없습니다.
- Recommended packages (추천 패키지):
- 설치: R 설치 시 자동으로 설치됩니다.
- 불러오기: 수동으로 로드해야 합니다. library() 또는 require() 함수를 사용합니다.
library(패키지명)
require(패키지명)
- Other packages (기타 패키지):
- 설치: 사용자가 수동으로 설치해야 합니다. install.packages() 또는 biocLite() 함수를 사용하여 설치합니다.
- 불러오기: 수동으로 로드해야 합니다. library() 또는 require() 함수를 사용합니다.
install.packages("패키지명")
biocLite("패키지명")
맛보기) R 패키지 중 Bioconductor에 대한 간단한 소개
Bioconductor는 R 언어를 기반으로 하는 생물정보학 및 생물학 데이터 분석을 위한 오픈 소스 소프트웨어 프로젝트입니다. 유전자 발현 데이터, 유전자 서열 데이터, 단백질 데이터 등을 분석하고 시각화하는 데 필요한 다양한 패키지를 제공합니다.
주요 특징
- 오픈 소스: 누구나 자유롭게 사용하고 기여할 수 있습니다.
- 다양한 패키지: 2000개 이상의 생물정보학 관련 패키지가 제공됩니다.
- 활발한 커뮤니티: 사용자와 개발자들이 활발하게 참여하여 도움을 주고받을 수 있습니다.
- 재현 가능성: 분석 과정을 쉽게 공유하고 재현할 수 있습니다.
기본 사용법
Bioconductor 설치 및 패키지 설치
먼저 Bioconductor를 설치하고, 필요한 패키지를 설치합니다.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("패키지명")
패키지 로드
설치한 패키지를 사용하려면 로드합니다.
library(패키지명)
주요 패키지와 기능
- 유전자 발현 분석:
- DESeq2: RNA-Seq 데이터의 차등 발현 분석.
- edgeR: 차등 유전자 발현 분석.
- 유전자 서열 분석:
- Biostrings: DNA, RNA, 단백질 서열 데이터 조작 및 분석.
- ShortRead: 차세대 시퀀싱(NGS) 데이터 분석.
- 기능적 해석:
- clusterProfiler: 유전자 온톨로지(GO) 및 경로 분석.
- topGO: 유전자 온톨로지(GO) 항목의 과다표현 분석.
- 단백질 상호작용 네트워크:
- STRINGdb: 단백질 상호작용 네트워크 시각화 및 분석.
- igraph: 네트워크 분석 및 시각화.
- 데이터 시각화:
- ggplot2: 데이터 시각화를 위한 강력한 도구.
- ComplexHeatmap: 복잡한 히트맵 생성.
Bioconductor는 생물정보학 연구에서 필수적인 도구로 다양한 생물학적 데이터 분석을 위한 강력한 패키지를 제공하며, 이를 통해 효율적이고 재현 가능한 연구를 수행할 수 있습니다.
R 설치
Windows에서 R 설치
- R 다운로드:
- CRAN (Comprehensive R Archive Network) 웹사이트로 이동합니다: CRAN
- "Download R for Windows"를 클릭합니다.
- "base"를 클릭하고, 최신 버전의 R 설치 파일을 다운로드합니다.
- 설치 파일 실행:
- 다운로드한 설치 파일(.exe)을 실행합니다.
- 설치 마법사의 지시에 따라 설치를 진행합니다. 기본 설정을 사용해도 무방하지만, 설치 경로를 지정하고 싶다면 사용자 지정 설치 옵션을 선택할 수 있습니다.
- 설치 완료:
- 설치가 완료되면 R GUI를 실행하여 R 콘솔을 사용할 수 있습니다.
macOS에서 R 설치
- R 다운로드:
- CRAN 웹사이트로 이동합니다: CRAN
- "Download R for macOS"를 클릭합니다.
- 최신 버전의 R 설치 파일(.pkg)을 다운로드합니다.
- 설치 파일 실행:
- 다운로드한 설치 파일을 열고, 설치 마법사의 지시에 따라 설치를 진행합니다.
- 설치 완료:
- 설치가 완료되면 응용 프로그램 폴더에서 R을 찾아 실행할 수 있습니다.
R studio 설치 및 소개
R studio 설치
RStudio는 R을 사용하기 위한 강력한 통합 개발 환경(IDE)입니다. R 설치 후 RStudio를 설치하여 R 코드를 더 효율적으로 작성하고 실행할 수 있습니다.
- RStudio 다운로드:
- RStudio 웹사이트로 이동합니다: RStudio
- "Download RStudio"를 클릭하고, 운영 체제에 맞는 설치 파일을 다운로드합니다.
- 설치 파일 실행:
- 다운로드한 설치 파일을 실행하여 RStudio를 설치합니다.
- 설치 완료:
- 설치가 완료되면 RStudio를 실행하여 R을 사용할 수 있습니다.
R studio 소개
RStudio는 R 프로그래밍 언어를 사용하는 개발자와 데이터 과학자들을 위해 설계된 통합 개발 환경(IDE, Integrated Development Environment)입니다. RStudio는 R의 코드 작성, 실행, 디버깅, 분석, 시각화 등을 쉽게 할 수 있도록 다양한 기능을 제공합니다.
주요 기능
- 소스 편집기: 코드 작성과 편집을 위한 강력한 텍스트 편집기를 제공합니다. 구문 강조(syntax highlighting), 코드 자동 완성, 코드 실행 단축키 등의 기능이 있어 코드를 효율적으로 작성할 수 있습니다.
- 콘솔: R 명령어를 직접 입력하고 즉시 결과를 확인할 수 있는 콘솔을 제공합니다. 기본적인 R 세션을 여기서 실행할 수 있습니다.
- 환경/변수 창(Environment Pane): 현재 작업 중인 R 세션에서 사용 중인 모든 변수, 데이터 프레임, 함수 등을 시각적으로 확인할 수 있습니다. 이를 통해 변수들의 상태를 쉽게 파악할 수 있습니다.
- 파일/프로젝트 관리: 프로젝트 관리 기능을 통해 관련 파일과 폴더를 체계적으로 관리할 수 있습니다. 프로젝트 기반으로 작업을 하면 경로 설정이나 파일 관리가 훨씬 편리합니다.
- 패키지 관리: 설치된 R 패키지를 쉽게 확인하고, 설치하거나 업데이트할 수 있는 인터페이스를 제공합니다.
- 시각화 도구: 그래프와 시각화 결과를 손쉽게 확인하고 저장할 수 있는 창을 제공합니다. 생성된 그래프는 다양한 형식으로 내보낼 수 있습니다.
- R Markdown 지원: R 코드와 문서를 함께 작성하여 리포트, 슬라이드, 웹 페이지 등을 생성할 수 있는 R Markdown 기능을 지원합니다. 이를 통해 데이터 분석 보고서 등을 손쉽게 작성할 수 있습니다.
RStudio의 장점
- 사용자 친화적 인터페이스: 초보자도 쉽게 사용할 수 있는 직관적인 인터페이스를 제공합니다.
- 통합 환경: 코딩, 디버깅, 시각화, 데이터 탐색 등을 하나의 환경에서 모두 처리할 수 있어 작업 효율이 높아집니다.
- 강력한 확장성: 다양한 플러그인과 패키지 지원으로 RStudio의 기능을 확장할 수 있습니다.
▫︎ R studio 살펴보기
RStudio의 기본 구조
RStudio는 크게 네 개의 창(Pane)으로 나뉩니다:
- 소스 편집기(Source Editor)
- R 콘솔(Console)
- 환경 및 히스토리(Environment and History)
- 파일, 플롯, 패키지, 헬프(Files, Plots, Packages, Help)
- 소스 편집기 (Source Editor)
- 위치: 기본적으로 왼쪽 상단에 위치합니다.
- 역할: R 스크립트(.R 파일), R Markdown 문서(.Rmd 파일) 등을 작성하는 공간입니다. 코드 구문 강조, 자동 완성, 다중 커서 등 코드 작성에 편리한 기능들을 제공합니다.
- 특징:
- 여러 탭을 열어 동시에 여러 파일을 편집할 수 있습니다.
- 코드 조각을 선택한 후 Ctrl + Enter (또는 Cmd + Enter on macOS)를 누르면 선택한 코드가 콘솔에서 실행됩니다.
- R 콘솔 (Console)
- 위치: 기본적으로 왼쪽 하단에 위치합니다.
- 역할: R 명령어를 직접 입력하고 즉시 실행 결과를 확인하는 공간입니다. 이 창은 R의 기본 인터페이스와 비슷한 역할을 합니다.
- 특징:
- 직접 명령어를 입력하여 R 세션을 제어합니다.
- 스크립트에서 실행된 코드의 결과도 이 콘솔 창에 표시됩니다.
- 이전 명령어를 다시 실행할 수 있도록 화살표 키로 탐색 가능합니다.
- 환경 및 히스토리 (Environment and History)
- 위치: 기본적으로 오른쪽 상단에 위치합니다.
- 역할:
- 환경(Environment): 현재 R 세션에서 사용 중인 객체(변수, 데이터 프레임, 함수 등)를 시각적으로 확인할 수 있습니다. 객체를 클릭하여 내용을 미리 볼 수 있습니다.
- 히스토리(History): 콘솔에서 실행된 명령어들의 기록을 확인할 수 있습니다. 과거에 실행한 명령어를 다시 실행하거나 스크립트로 저장할 수 있습니다.
- 파일, 플롯, 패키지, 헬프 (Files, Plots, Packages, Help, Viewer)
- 위치: 기본적으로 오른쪽 하단에 위치합니다.
- 역할: 여러 탭으로 구성되어 있으며, 각 탭은 다음과 같은 기능을 제공합니다:
- 파일(Files): 현재 작업 디렉토리의 파일들을 탐색하고 관리할 수 있습니다. 여기서 새 파일이나 폴더를 생성하거나, 기존 파일을 삭제, 복사, 이동할 수 있습니다.
- 플롯(Plots): ggplot2나 기본 그래픽 패키지를 사용해 생성한 그래프를 확인할 수 있습니다. 여기서 그래프를 확대하거나, 이미지 파일로 저장할 수 있습니다.
- 패키지(Packages): 설치된 R 패키지 목록을 확인하고, 설치/업데이트/제거 등을 할 수 있습니다. 또한, 특정 패키지를 불러올 수 있습니다.
- 헬프(Help): R 함수나 패키지에 대한 도움말을 검색하고 볼 수 있습니다. 예를 들어, ?mean을 콘솔에 입력하면 이 창에 해당 함수의 문서가 표시됩니다.
- 뷰어(Viewer): R Markdown 또는 Shiny와 같은 웹 응용 프로그램의 결과를 미리보기 할 수 있습니다.
R은 데이터 과학, 통계 분석, 그리고 생물정보학 분야에서 매우 강력하고 유연한 도구로 자리 잡고 있습니다. 다양한 패키지와 직관적인 개발 환경을 통해 복잡한 데이터를 쉽게 분석하고 시각화할 수 있으며, 연구의 재현성과 효율성을 크게 향상시킵니다.
감사합니다.
'프로그래밍 언어 > R' 카테고리의 다른 글
06. R 프로그램에서 파일 읽기 및 쓰기 (0) | 2024.08.20 |
---|---|
05. R의 변수와 데이터 타입 및 구조 3️⃣ (array, 데이터 요약 및 시각화, 데이터 타입 확인 및 변환) (0) | 2024.08.17 |
04. R의 변수와 데이터 타입 및 구조 2️⃣ (리스트, 행렬, 데이터프레임) (0) | 2024.08.15 |
03. R의 변수와 데이터 타입 및 구조 1️⃣ (변수와 데이터 타입, 팩터, 벡터) (0) | 2024.08.13 |
02. R package 기초 (0) | 2024.08.10 |
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!