안녕하세요,
미생물 분석에 자주 이용되는 군집 분석 중 하나는 Beta-diversity 입니다.
Diversity에도 종류가 있는데 Alpha-, Beta-, Gamma- Diversity가 있죠.
차이점은 무엇일까요?
alpha에서 Gamma로 갈 수록 그룹 집단이 소규모에서 대규모로 간다고 이해하시면 됩니다.
Alpha diversity는 생태계에서 특정 지역 내에서 다양성 분석이며, 주로 종 개수가 표현됩니다.
Beta diversity는 종의 양 변화에 따라 측정 됩니다.
Gamma diversity는 지역적 스케일로 다양성이 평가됩니다.
아래 코드는 Beta diversity에 관한 분석과 3D로 시각화 하는 방법입니다.
패키지는 "rgl"과 "car"라는 패키지를 이용합니다.
아래 총 8단계 Step을 Follow-up 하면, 당신도 진정한 3D plot 전문가!
1. 패키지 설치
############ Packages Install ###########
install.packages("rgl")
install.packages("car")
######################################
2. 패키지 실행
############ Launch packages ###########
library("rgl")
library("car")
#######################################
3. 분석할 데이터 Input
############## 데이터 입력 ###############
data <- read.delim("clipboard", row.names=1) #엑셀상에서 데이터프레임 Copy하고 명령어 실행
########################################
4. Distance 계산
################ Dist 계산 ################
data.dist <- dist(data[,3:359]) # [,3:999] 계산할 샘플 행 개수 999까지
#########################################
5. Metric Multidimensional Scaling (MDS) 계산
############### MDS 계산 #################
data.mds <- cmdscale(data.dist, k=3)
#########################################
6. 데이터 바탕으로 x, y, z축 Output 생성
############## Create x,y,z ################
data.x <- data.mds[,1]
data.y <- data.mds[,2]
data.z <- data.mds[,3]
#########################################
7. 데이터 시각화
################### Plot ##################
### i) 단일 색으로 관찰
scatter3d(data.x,data.y,data.z,
col = "blue",
grid = TRUE,)
### ii) 평면도 관찰
scatter3d(data.x,data.y,data.z,
groups = as.factor(data$weight),
grid = TRUE,
)
#data$weight에서 weight열을 group 기준으로 잡는 것
### iii) 입체적 범위 표시
scatter3d(x = data.x, y = data.y, z = data.z,
groups = as.factor(data$species),
surface=FALSE, ellipsoid = TRUE, grid = FALSE
)
#data$species란 species열을 group 기준으로 잡는 것
############################################
8. 3D 영상 실행
############## Launch 3D Video ###############
play3d(spin3d(axis=c(0,1,1), rpm=3), duration=30)
############################################
이상으로 microbiome 분석을 3D로 시각화하는 방법에 관한 포스팅이었습니다.
여기까지 무리 없이 실행하신 여러분께 박수!! 짝짝짝
잘 안되거나 궁금한 사항 있다면 아래 댓글로 달아주세요.
'R > R_Usage [KOR.]' 카테고리의 다른 글
R을 이용한 Heatmap 시각화 (0) | 2022.11.08 |
---|---|
Rstudio의 working directory 디폴트 설정 (0) | 2022.11.07 |
R 언어 header 의미와 column 이름 지정 (0) | 2022.11.03 |
R을 이용한 ANOSIM 통계 분석 (0) | 2022.11.03 |
R을 이용한 업무자동화 (1) | 2022.11.02 |