新闻中心
3D主成分分析(PCA) | 图形绘制 | 教程(代码重新)(主成分分析建模步骤)
不同的分析思路和分析对象,使用PCA结果解释的意义是不同的,主要还是看自己的数据以及自己对其的理解。
二维PCA

原文:High-resolution spatiotemporal transcriptomemapping of tomato fruit development and ripening
如果你感兴趣可以去了解一下,非常牛X的,优秀的,nice的一篇文章。数据量非常的大,做的也是非常的细致。

3D PCA 代码
# 导入包 library(rgl) Sys.setenv(LANGUAGE = "en") #显示英文报错信息 options(stringsAsFactors = FALSE) #禁止chr转成factor导入表达量数据
# 读取表达量数据 df <- read.csv("PCA_inputdata.csv", header = T, row.names = 1) df[1:5,1:5] > df[1:5,1:5] sample001 sample002 sample003 sample004 sample005 AIM2 1.4 0.1 1.1 1.3 -1.2 ANXA11 -0.1 0.8 0.3 0.0 -0.1 APLN 0.3 0.0 0.5 -1.4 0.9 APOA1 0.0 -1.2 0.2 -0.7 0.2 APOA2 -0.1 -0.8 0.4 -0.5 -0. > dim(df) [1] 311 297PCA分析
## 一个函数搞定 pca <- prcomp(t(df))绘图
# 01.导入分类数据 lgg_sample <- read.table("group1.txt", header = T)$x ## class(lgg_sample) ## 查看数据类型 gbm_sample <- read.table("group2.txt", header = T)$x ## # 准备颜色 lgg_color <- rep("yellow", length(lgg_sample)) names(lgg_color) <- lgg_sample gbm_color <- rep("red", length(gbm_sample)) names(gbm_color) <- gbm_sample groups <- c(lgg_color, gbm_color)3d PCA图
plot3d(pca$x[,1:3], # 取前三个主成分 xlab="Comp.1", ylab="Comp.2", zlab="Comp.3", col=groups, # 按groups填充颜色 type="s", # 画球,p for points, s for spheres, l for lines, h for line segments size=1, #球的大小 lwd=2, box=T) rgl.snapshot("PCA01.png")到此步,你可以拖动你的鼠标来确定图形的方向和大小,很有意思。这是一个动态的图形。
但是比较遗憾,此图形只能输出.png格式的图形。如你其他的绘制方法,你也可以一起来分享一下哦!
## 五颜六色的图形,你也喜欢 plot3d(pca$x[,1:3], col=c("red","gray0"),# "blue","cyan","darkblue","green","darkgreen","lightpink"), size = 10, xlab="PC1",ylab="PC2",zlab="PC3")
结束语:
如果你看到这里,那么你是最棒的!我在前面的教程中也提及,我们最终还是得回归到绘图的本质。
那什么是“绘图的本质呢”,个人观点:本质就是你开始绘制图形的初心,我们一切都是为了用来解释说明数据的可用性,用图形的形式直观的表达出数据。数据是不会直接告诉你它所想要表达的意思,那只有看分析者使用图形来阐述。我们要理解这个图形的最基础的东西,如它的原理之类的,我们可以无需具体理解这个图形绘制的每一个步骤,因为你不是开发软件或开发数据包的。
但是,我们还是需要理解它运作的原理是什么?这部分,也许是可能被忽略的。我们记住:万变不离其宗,越是最基础的东西,越容易被忽略,但也是最重要的。基本,所有形变,都是在质的基础上。
我们在追求高质量图形的同时,也需要追求高质量的意义!(不知你是否理解)
3D 主成分分析教程(PCA) | 图形绘制7 万播放 · 22 赞同视频
“小杜的生信筆記” 公众号、、简书、B站平台,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!