gpt4 book ai didi

r - 将新数据Predict()放入R中的PCA空间

转载 作者:行者123 更新时间:2023-12-02 08:11:16 26 4
gpt4 key购买 nike

在对第一数据集(a)进行主成分分析之后,我将第二数据集(b)投影到第一数据集的PCA空间中。

由此,我想提取变量载荷以进行(b)的预测分析。 (a)的PCA的变量加载由prcomp()返回。如何检索投影到(a)的PCA空间中的(b)的变量载荷?

# set seed and define variables
set.seed(1)
a = replicate(10, rnorm(10))
b = replicate (10, rnorm(10))

# pca of data A and project B into PCA space of A
pca.a = prcomp(a)
project.b = predict(pca.a, b)

# variable loadings
loads.a = pca.a$rotation

最佳答案

这是代码的带注释版本,用于清楚说明每个步骤发生的情况。首先,原始PCA在a矩阵上执行:

pca.a = prcomp(a)

这将计算每个主要组件(PC)的载荷。在下一步中,这些负载与新数据集 b一起用于计算PC分数:
project.b = predict(pca.a, b)

因此,负载是相同的,但PC分数是不同的。如果查看 project.b,我们会看到每一列都对应一台PC:
            PC1         PC2         PC3        PC4         PC5          PC6         PC7         PC8
[1,] -0.2922447 0.10253581 0.55873366 1.3168437 1.93686163 0.998935945 2.14832483 -1.43922296
[2,] 0.1855480 -0.97631967 -0.06419207 0.6375200 -1.63994127 0.110028191 -0.27612541 -0.37640710
[3,] -1.5924242 0.31368878 -0.63199409 -0.2535251 0.59116005 0.214116915 1.20873962 -0.64494388
[4,] 1.2117977 0.29213928 1.53928110 -0.7755299 0.16586295 0.030802395 0.63225374 -1.72053189
[5,] 0.5637298 0.13836395 -1.41236348 0.2931681 -0.64187233 1.035226594 0.67933996 -1.05234872
[6,] 0.2874210 1.18573157 0.04358772 -1.1941734 -0.04399808 -0.113752847 -0.33507195 -1.34592414
[7,] 0.5629731 -1.02835365 0.36218131 1.4117908 -0.96923175 -1.213684882 0.02221423 1.14483112
[8,] 1.2854406 0.09373952 -1.46038333 0.6885674 0.39455369 0.756654205 1.97699073 -1.17281174
[9,] 0.8573656 0.07810452 -0.06576772 -0.5200661 0.22985518 0.007571489 2.29289637 -0.79979214
[10,] 0.1650144 -0.50060018 -0.14882996 0.2065622 2.79581428 0.813803739 0.71632238 0.09845912
PC9 PC10
[1,] -0.19795112 0.7914249
[2,] 1.09531789 0.4595785
[3,] -1.50564724 0.2509829
[4,] 0.05073079 0.6066653
[5,] -1.62126318 0.1959087
[6,] 0.14899277 2.9140809
[7,] 1.81473300 0.0617095
[8,] 1.47422298 0.6670124
[9,] -0.53998583 0.7051178
[10,] 0.80919039 1.5207123

希望这是有道理的,但我还没有完成当天的第一杯咖啡,因此无法保证。

关于r - 将新数据Predict()放入R中的PCA空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46828500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com