정보
-
업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 벤 다이어그램
-
작성자 : 박진만
-
작성일 : 2020-03-24
-
설 명 :
-
수정이력 :
내용
[개요]
-
R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다.
-
통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.
-
또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.
-
특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.
-
또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.
[특징]
-
데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
데이터형 소개
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
소스 코드 예시 참조
[사용 OS]
-
Windows 10
[사용 언어]
-
R v3.6.2
-
R Studio v1.2.5033
소스 코드
[벤 다이어그램]
-
벤 다이어그램은 여러 집합의 관계를 시각화 한 그림이다.
-
두 집합의 벤 다이어그램을 표시하는 경우 A, B, A∩B 및 A∪B 등의 4 가지 영역으로 나눌 수 있다.
-
마찬가지로 3 개의 집합의 중복을 표시하면 8 개의 영역으로 나눌 수 있다.
-
집합이 4 개 이상인 경우는 벤 다이어그램을 이용하기 전에 대체 할 수있는 시각화 방법도 한 번 검토하는 편이 좋을지도 모른다. 또한 여러 집합의 관계를 시각화 할 때, 벤 다이어그램 외에 UpSet 플롯 으로 그리는 것이 알기 쉬운 경우도있다.
-
벤 다이어그램을 만들 수 있는 R의 함수로서 gplots 패키지 venn함수 venneuler 패키지 venneuler함수 VennDiagram 패키지 venn.diagram함수 등이 있다.
[venn]
-
gplots 패키지의 venn 함수를 이용하여 벤 다이어그램을 작성할 수있다.
-
벤 다이어그램을 만들 때 각 집합의 요소를,리스트 형식으로 제공하면 된다.
-
다른 함수에 비해 venn함수에서 만든 벤 다이어그램은 심플하지만, 대신 사용법이 간단하다.
library(gplots)
prot1 <- c("3U5Z", "3PT6", "1MHT", "1SSO", "1H1J", "1RIY")
prot2 <- c("3U5Z", "3PT6", "1MHT", "1T2K")
prot3 <- c("1SSO", "1H1J", "2KI2")
data <- list(A = prot1, B = prot2, C = prot3)
venn(data)
- venn함수로 그린 벤 다이어그램을 PNG 형식으로 저장하면 이미지가 깨질 수 있다. 그럴 때는 아래와 같이 배경을 투명하게 함으로써 해결할 수 있다.
png("venn.png", 300, 300, bg = "transparent")
venn(data)
dev.off()
[venneuler]
-
아래는 venneuler함수에서 벤 다이어그램을 그리는 예시이다.
-
venneuler를 이용하려면 그룹이 겹치는 부분을 미리 계산할 필요가 있다.
library(venneuler)
A <- c("3U5Z", "3PT6", "1MHT", "1SSO", "1H1J", "1RIY")
B <- c("3U5Z", "3PT6", "1MHT", "1T2K")
C <- c("1SSO", "1H1J", "2KI2")
n.A <- length(A)
n.B <- length(B)
n.C <- length(C)
n.AB <- sum(!is.na(match(A, B)))
n.BC <- sum(!is.na(match(B, C)))
n.CA <- sum(!is.na(match(C, A)))
n.ABC <- n.A + n.B + n.C - (n.AB + n.BC + n.CA)
v <- venneuler(c(A = n.A, B = n.B, C = n.C, "A&B" = n.AB, "B&C" = n.BC, "C&A" = n.CA, "A&B&C" = n.ABC))
plot(v, main = "Overlaps of ABC", col = c("darkgreen", "blue", "orange"))
[VennDiagram]
-
VennDiagram 패키지에도 벤 다이어그램을 그리는 함수가 준비되어 있다.
library(VennDiagram)
a <- c("3U5Z", "3PT6", "1MHT", "1SSO", "1H1J", "1RIY")
b <- c("3U5Z", "3PT6", "1MHT", "1T2K")
c <- c("1SSO", "1H1J", "2KI2")
data <- list(A = a, B = b, C = c)
venn.diagram(
data,
fill = c(3, 2, 7), # background color
alpha = c(0.5, 0.5 , 0.5), # transparency
lty = c(1, 2, 3), # border line type
filename = "venn.tiff" # file name
)
[다음글]
[R] R을 이용한 통계 분석 및 데이터 시각화 : Bee swarm plot
정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : Bee swarm plot 작성자 : 박진만 작성일 : 2020-03-24 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지..
shlee1990.tistory.com
[이전글]
[R] R을 이용한 통계 분석 및 데이터 시각화 : 막대그래프
정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 막대그래프 작성자 : 박진만 작성일 : 2020-04-01 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계..
shlee1990.tistory.com
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > R' 카테고리의 다른 글
[R] R을 이용한 통계 분석 및 데이터 시각화 : 상자그림 (0) | 2020.04.03 |
---|---|
[R] R을 이용한 통계 분석 및 데이터 시각화 : Bee swarm plot (0) | 2020.04.03 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 막대그래프 (0) | 2020.04.02 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 히스토그램 (0) | 2020.04.02 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 수학 함수 그래프 (0) | 2020.04.01 |