Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R PCA缩放不适用于个人?_R_Pca - Fatal编程技术网

R PCA缩放不适用于个人?

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?)。例如,

这个问题适用于我自己的数据,但为了可复制性,我的问题/问题也出现在额外的渐晕图中,或者,为了简单起见,我将使用它

首先,生成一个简单的PCA(scale=T),并从前4个轴提取坐标变量:

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)