R PCA缩放不适用于个人?
这个问题适用于我自己的数据,但为了可复制性,我的问题/问题也出现在额外的渐晕图中,或者,为了简单起见,我将使用它 首先,生成一个简单的PCA(scale=T),并从前4个轴提取坐标变量:R PCA缩放不适用于个人?,r,pca,R,Pca,这个问题适用于我自己的数据,但为了可复制性,我的问题/问题也出现在额外的渐晕图中,或者,为了简单起见,我将使用它 首先,生成一个简单的PCA(scale=T),并从前4个轴提取坐标变量: head(var$coord) # coordinates of variables 这也是为“个人”所做的。以下是输出: head(ind$coord) # coordinates of individuals 由于PCA是用scale=T生成的,所以我非常困惑为什么单个坐标没有缩放(-1到1?)。例如,
head(var$coord) # coordinates of variables
这也是为“个人”所做的。以下是输出:
head(ind$coord) # coordinates of individuals
由于PCA是用scale=T
生成的,所以我非常困惑为什么单个坐标没有缩放(-1到1?)。例如,“个人1”的DIM-1分数为-2.257141,但我没有-0.46到0.991的变量坐标的比较基础。在-1到1的标度PCA范围内,如何解释-2.25的分数
我错过什么了吗?
谢谢你的时间
更新并填补所有相关代码空白:
>数据(iris)
>分辨率pca ind打印(ind)
>var打印(var)
当prcomp(…,scale=T)
将输入变量缩放为单位方差时所进行的缩放
我认为它对单个坐标的范围标准化并没有任何作用,除非可能使用center=…
。然而,事后(或事前)处理是很容易的。以下是相关帖子:
我问了这个问题的作者。他的回答是: Scale=TRUE将规范化变量,使其具有可比性。当以不同的尺度测量变量时(例如:千克、公里、厘米等),尤其建议采用这种方法;() 在这种情况下,变量和主成分(PC)之间的相关性被用作PC上变量的坐标。变量的表示不同于观测图:观测值由其投影表示,但变量由其相关性表示 因此,即使scale=TRUE,个体的坐标也不会在-1和1之间 只有通过创建双图才能解释个体和变量的相对位置,如所述: 一个双标图对我来说不是个好主意,但我已经尝试过重新缩放,效果不错。另外,我想我可以带一个人,将他们投射到PCA中,看看他们落在哪里
不管怎样,这就是结局。谢谢你的帮助@Hack-r @Hack-R我不确定我是否应该这样做,因为这要么是一个bug的问题,要么是我的错误解释!很抱歉是的,但我不明白为什么这些个体的规模会不一样。当刻度为-1:1时,我不知道如何解释-2.55的PC-1值。然而,我只是尝试了你发布的链接,并给了一个重新缩放的镜头-似乎这可能会解决!谢谢@Eric听起来你们可能把方差的缩放和值的范围搞混了。原始代码中没有发生任何尝试将值设置为-1:1的比例。你缩放了方差。也许我对这个的应用感到困惑。例如,在最初的帖子中,你如何对“个人1”做出任何结论?(PC1:-2.257141 PC2:-0.4784238 PC3:0.12727962 PC4:0.024087508)基本上,我想看看生成的PCA中的“个人在哪里”。
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
> 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)