2017-03-09 81 views
0

我對數據框執行主成分分析以減少線性迴歸分析中的預測因子數。檢索R中每個主成分的觀察分數

pr.out = prcomp(df, scale=TRUE) 
pr.var = pr.out$sdev^2 
pve = pr.var/sum(pr.var) 

這樣做後,我想用我的數據框中的舊變量替換前幾個主成分來解釋最大變異比例。但是,對於我而言,我無法找到每個主成分的觀察向量(即每個數據點的PC1得分)。你知道我可以如何訪問它們嗎?例如,我嘗試pr.out$PC1,但返回NULL

+0

你可以用'名(pr.out)'來看看在對象可用,並且'STR(pr.out)'得到數據內容的一些想法。正如你發現的那樣,沒有PC1,但有一個'x'。 – neilfws

回答

0

找到了!您可以使用以下命令訪問所有主體組件的分數:

pr.out$x 

這將爲您提供所有組件的分數。要訪問單個組件的分數,您需要選擇包含所有行的相應列。例如,訪問成績爲第一主成分使用:

pr.out$x[,1]