Saturday, June 20, 2009

匯入SPSS資料檔並實作主成份分析(2)

接下來我們將以匯入後的資料spss_data進行主成份分析:
  • 首先確定匯入的資料共有8個向度(SYMPTOMS→後遺症、ACTIVITY→活動量、SLEEP→睡眠量、EAT→食量、APPETITE→食慾、SKIN→皮膚反應、FACT1_1、FACT2_1)。但是我們要用到的只有前6個向度(因為題目是要探討此六個變項並縮減之)。
  • 我們使用額外的變數data儲存此6個向度的資料:
data<-spss_data[,1:6]
  • 先檢查correlation matrix的各項係數,看看是否有許多低於.3的,若有則須刪除變項。
corm<-cor(data)
  • 結果如下圖所示,顯示大多數的係數均大於.3,故適合進行主成份分析。
  • 然後載入nFacrotrs套件(若沒有則請先安裝),利用它來找出各變項之eigen value以及可解釋的變異量,我們將結果存入eig_data變數中。
eig_data<-principalComponents(corm)

  • 結果如下圖所示,其中eigen value大於1的只有二個主成份,故可保留二個主成份。
  • 之後我們再使用Scree Plot來看看應保留幾個主成份,結果如下圖,由目視的結果來看特徵值是在第二個因素陡升,故也可保留2個主成份。
plotuScree(eig_data$values)


  • 因此,我們將以psych套件中的principal函數來抽取二個主成份,結果如下圖:
principal(corm,2,rotate="none")


  • 由上圖我們可知抽取兩個主成份所能解釋的變異量為66%,接下來我們可以依據各變項在各成份所占的比重,來為兩個主成份命名。
  • 另外,我們亦可以輸出以迴歸法計算之主成份分數做為新的變項,以利後續進一步的分析之用。
new_data<-principal(data,2,rotata="none",scores=T)$scores

No comments:

Post a Comment