## 3D PCA
### 應用場景
3D PCA和2D PCA本質類似,可能看上去更酷炫些
> 所有數據和2D一樣
```R
# 增加一個pro3
library(gmodels)
mat_a <- t(as.matrix(rt))
mat_pca <- fast.prcomp(mat_a, scale = T) # do PCA
sum_a <- summary(mat_pca)
tmp <- sum_a$importance # a include 4 sections which contain importance
pro1 <- as.numeric(sprintf("%.3f", tmp[2,1]))*100
pro2 <- as.numeric(sprintf("%.3f", tmp[2,2]))*100 # fetch the proportion of PC1 and PC2
pro3 <- as.numeric(sprintf("%.3f", tmp[2,3]))
pc <- as.data.frame(sum_a$x) # convert to data.frame
# 增加一個zlab
pc$group <- c(rep('tumor', 57), rep('normal', 57))
pc$color <- c(rep('#6D9EC1', 57), rep('#E46726', 57))
pc$group <- factor(pc$group, levels = unique(pc$group))
xlab <- paste("PC1(", pro1, "%)", sep = "")
ylab <- paste("PC2(", pro2, "%)", sep = "")
zlab <- paste("PC3(", pro3, "%)", sep = "")
```
> 利用scatter3D作圖
```R
library(plot3D)
# 基本展示
scatter3D(x = pc$PC1, y = pc$PC2, z = pc$PC3,
xlab = xlab, ylab = ylab, zlab = zlab, colkey = FALSE)
# 改變下顏色及分組
scatter3D(x = pc$PC1, y = pc$PC2, z = pc$PC3,
xlab = xlab, ylab = ylab, zlab = zlab,
bty = 'g', cex = 1.5, pch = 20,
col = as.character(unique(pc$color)),
colvar = as.integer(pc$group),
groups = pc$group, colkey = FALSE)
```


- 智匯醫圈
- 第一章 前言
- 1.1 簡介
- 1.2 制作該教程的目的
- 1.3 學習該教程需要掌握的基礎知識
- 1.4 該教程適用人群
- 第二章 散點圖(scatter plot)
- 2.1 基本的散點圖
- 2.2 3D 散點圖
- 第三章 線圖(line plot)
- 3.1 基本的線圖
- 第四章 箱型圖(boxplot)
- 4.1 基本的箱型圖
- 4.2 圖形參數調整
- 4.3 多分組箱型圖
- 4.4 小提琴圖
- 第五章 密度圖(density plot)
- 5.1 基本的密度圖
- 第六章 熱圖(Heatmap)
- 6.1 基本的熱圖
- 6.2 ggplot2 heatmap
- 6.3 相關性熱圖
- 第七章 主成分分析(PCA)
- 7.1 2D PCA
- 7.2 3D PCA
- 第八章 ROC 曲線
- 8.1 基本的 ROC 曲線
- 第九章 生存分析(KM plot)
- 9.1 基本的生存分析
- 第十章 KEGG 和 GO 分析
- 10.1 KEGG 分析
- 10.2 GO 分析
- 第十一章 Circular plot
- 11.1 基本的 Circular plot
- 附錄 下載數據