정보
-
업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 해시 테이블
-
작성자 : 박진만
-
작성일 : 2020-03-26
-
설 명 :
-
수정이력 :
내용
[개요]
-
R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다.
-
통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.
-
또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.
-
특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.
-
또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.
[특징]
-
데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
데이터형 소개
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
소스 코드 예시 참조
[사용 OS]
-
Windows 10
[사용 언어]
-
R v3.6.2
-
R Studio v1.2.5033
소스 코드
-
해시 테이블이란 Perl이나 Python 등의 프로그래밍 언어로 볼 수 있는 사전에 해당하는 자료형이며, 기본적으로 R에는 없다.
-
그러나 R 벡터 또는 리스트에 개체 이름을 붙이는 것이 가능하고,이를 이용하여 "해시 테이블과 비슷한 것"을 만들 수는 있다.
[벡터에서 해시 테이블을 생성]
-
가장 쉬운 예로는 R 벡터에 이름을 붙이는 것만으로 "비슷한 것"을 만들 수있다.
-
R 벡터를 이용하기 때문에 하나의 키에 대해 하나의 값만 저장할 수 있다. 또한 모든 값의 형태가 같아야 한다.
aaa2a <- c("A", "C", "D", "E", "F", "G", "H")
names(aaa2a) <- c("ALA", "CYS", "ASP", "GLU", "PHE", "GLY", "HIS")
aaa2a["ALA"]
## ALA
## "A"
aaa2a[c("PHE", "GLY", "CYS")]
## PHE GLY CYS
## "F" "G" "C"
as.character(aaa2a[c("PHE", "GLY", "PHE", "ALA")])
## [1] "F" "G" "F" "A"
[리스트에서 해시 테이블을 생성]
-
R의 리스트는 다양한 형태의 객체를 저장할 수있다.
-
또한 리스트 내부에서 리스트를 저장할 수도 있다.
-
따라서 R의 리스트를 이용하여 "비슷한 것"을 만드는 경우 다른 프로그램에서 의미하는 해시와 이차원 딕셔너리 등을 구현할 수 있다.
-
아래의 예시는 유전자 ID를 부여하고 그에 연관된 GEO ID를 얻을 수있는 해시 테이블을 리스트로 작성한다.
-
여기서 값을 얻을 때 unlist및 as.character등의 기능을 함께 이용하면 좋다.
GENE2GO <- vector("list", length = 5)
names(GENE2GO) <- c("AT3G04930", "AT1G80200", "AT5G19172", "AT3G04480", "AT3G05130")
GENE2GO[["AT3G04930"]] <- c("GO:0003677", "GO:0005634", "GO:0006355")
GENE2GO[["AT1G80200"]] <- c("GO:0003674", "GO:0008150")
GENE2GO[["AT5G19172"]] <- c("GO:0005576", "GO:0031640", "GO:0050832")
GENE2GO[["AT3G04480"]] <- c("GO:0004521", "GO:0090502")
GENE2GO[["AT3G05130"]] <- c("GO:0003674")
unlist(GENE2GO[c("AT3G04930", "AT3G04480")])
## AT3G049301 AT3G049302 AT3G049303 AT3G044801 AT3G044802
## "GO:0003677" "GO:0005634" "GO:0006355" "GO:0004521" "GO:0090502"
as.character(unlist(GENE2GO[c("AT3G04930", "AT3G04480")]))
## [1] "GO:0003677" "GO:0005634" "GO:0006355" "GO:0004521" "GO:0090502"
[해시 안의 해시]
-
리스트에서 리스트를 저장하여 "해시 안의 해시"를 R로 구현할 수 있다.
GENE2GO <- vector("list", 2)
names(GENE2GO) <- c("AT3G04930", "AT2G17260")
GENE2GO[["AT3G04930"]] <- list(
MF = c("GO:0003677"),
CC = c("GO:0005634"),
BP = c("GO:0006355")
)
GENE2GO[["AT2G17260"]] <- list(
MF = c("GO:0005217"),
CC = c("GO:0005576", "GO:0005886"),
BP = c("GO:0006874", "GO:0010118", "GO:0030003", "GO:0009416")
)
GENE2GO[["AT2G17260"]][["CC"]]
## [1] "GO:0005576" "GO:0005886"
[다음글]
[이전글]
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > R' 카테고리의 다른 글
[R] R을 이용한 통계 분석 및 데이터 시각화 : 결측치 (0) | 2020.03.26 |
---|---|
[R] R을 이용한 통계 분석 및 데이터 시각화 : 문자열 (0) | 2020.03.26 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 리스트 (0) | 2020.03.25 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 배열 (0) | 2020.03.25 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 데이터 프레임 (0) | 2020.03.25 |
최근댓글