PCA 降维

数据挖掘 r 主成分分析
2022-03-06 11:12:30

我尝试为文件中的所有 SNP 绘制 VCF 文件的三个值(QUAL、DP 和定相速率)。

我认为 PCA 图将是减少绘图尺寸和比较值的好方法,尽管它们的比例不同。

我试图用不同的 R 包构建 PCAggbiplotpca3d,但似乎点云的分布总是倾斜的,因为缺少一个维度。在下面找到用于生成 ggbiplot 的代码。

有人会建议将三个不同尺度的值减少到二维 PCA 吗?

library(devtools) 
library(ggbiplot) 

# Create the dataframe
df <- df[c("quality", "phasing", "depth")]  

# Create the PCA dataset
pop.pca   <- prcomp(df, center = TRUE,scale. = TRUE)

# Create the plot
ggbiplot(pop.pca) +     
scale_y_continuous(trans='log10') +
scale_x_continuous(trans='log10')

在此处输入图像描述

1个回答

没有缺少维度,因为 PC1 和 PC2 是所有变量的“摘要”。事实上,PC1 是您的特征的线性组合,计算如下:PC1 = v1*feature1 + v2*feature2 + v3*feature3 + ...其中v1,v2v3是由 PCA 模型直接计算的标量数。

PCA 计算 n PC,其中 n 等于您的特征数量,并且选择第一个和第二个 PC,因为它们可以解释系统中最大的可变性。

有关 R 中的完整示例,请点击此链接