此问题适用于我自己的数据,但是出于可重复性考虑,我的问题/问题也出现在FactoExtra插图或here中,因此为了简单起见,将使用它。 / p>
首先,生成一个简单的PCA(比例= T),并从前4个轴中提取坐标变量:
head(var$coord) # coordinates of variables
> Dim.1 Dim.2 Dim.3 Dim.4 > Sepal.Length 0.8901688 -0.36082989 0.27565767 0.03760602 > Sepal.Width -0.4601427 -0.88271627 -0.09361987 -0.01777631 > Petal.Length 0.9915552 -0.02341519 -0.05444699 -0.11534978 > Petal.Width 0.9649790 -0.06399985 -0.24298265 0.07535950
对于“个人”也是如此。输出如下:
head(ind$coord) # coordinates of individuals
> Dim.1 Dim.2 Dim.3 Dim.4 > 1 -2.257141 -0.4784238 0.12727962 0.024087508 > 2 -2.074013 0.6718827 0.23382552 0.102662845 > 3 -2.356335 0.3407664 -0.04405390 0.028282305 4 -2.291707 0.5953999 -0.09098530 -0.065735340 5 -2.381863 -0.6446757 -0.01568565 -0.035802870 6 -2.068701 -1.4842053 -0.02687825 0.006586116
由于PCA是使用scale=T
生成的,所以我对为什么不按比例缩放单个坐标(-1到1?)感到非常困惑。例如,“个体1”的DIM-1得分为-2.257141,但是对于-0.46至0.991的变量坐标,我没有比较的基础。在PCA范围为-1到1的情况下,如何解释-2.25的分数?
我想念什么吗? 谢谢您的宝贵时间!
> data(iris)
> res.pca <- prcomp(iris[, -5], scale = TRUE)
> ind <- get_pca_ind(res.pca)
> print(ind)
>var <- get_pca_var(res.pca)
> print(var)
答案 0 :(得分:1)
当prcomp(...,scale=T)
将输入变量缩放为单位方差时的缩放比例。。
除非可以使用center = ...
,否则我认为它对单个坐标的范围标准化没有任何帮助。但是,事后(或事前)会很容易。这是相关的帖子:
答案 1 :(得分:1)
我问了FactoExtra的作者这个问题。这是他的答复:
Scale = TRUE将标准化变量以使其具有可比性。当以不同的比例尺(例如:公斤,千米,厘米等)测量变量时,尤其推荐使用此方法。(http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/112-pca-principal-component-analysis-essentials/)。
在这种情况下,变量和主成分(PC)之间的相关性用作变量在PC上的坐标。变量的表示形式与观测值的图不同:观测值由它们的投影表示,而变量由它们的相关性表示。
因此,即使scale = TRUE,个体的坐标也不希望在-1和1之间。
只能通过创建http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/112-pca-principal-component-analysis-essentials/中所述的双图来解释个体和变量的相对位置。
对我来说,双线图不是个好主意,但我尝试过重新缩放,并且可以使用。另外,我想我可以带一个人并将它们投影到PCA中,以查看它们的下落。
无论如何,到此为止。感谢您的帮助@ Hack-r!