2017-08-03 93 views
0

我是一個有R但又不熟悉PCA的新手。我的問題是,從一項調查中我得到一個包含九個變量觀察值的清單,第一個是受訪者的性別,接下來的五個(Q51_1_c,Q51_2_c,Q51_4_c,Q51_6_c,Q51_7_c)詢問有關企業家問題,其他人詢問未來期望值(Q56_1_c,Q56_2_c,Q56_3_c)。除了性別之外,所有這些變量都取值在1到5之間。我想用兩個軸作散點圖。第一個是「企業變量」,第二個是「未來期望變量」,然後在散點圖中定義男性和女性的位置。我的數據是這樣的:用PCA製作散點圖以及如何讀取結果

x <- "Q1b Q51_1_c Q51_2_c Q51_4_c Q51_6_c Q51_7_c Q56_1_c Q56_2_c Q56_3_c 
3 Male  5  4  4  4  4  5  4  4 
4 Female  4  3  4  4  3  3  4  3 
5 Female  1  1  1  1  1  3  1  1 
7 Female  2  1  1  1  1  5  1  4 
8 Female  4  4  5  4  4  5  4  4 
9 Female  3  3  4  4  3  3  4  4 
13 Male  4  4  4  4  5  3  3  3 
15 Female  3  4  4  4  4  1  1  5 
16 Female  4  1  4  4  4  3  3  3 
19 Female  3  2  3  3  3  3  3  3 
20 Male  1  1  1  1  1  3  1  5 
21 Female  3  1  1  2  1  3  3  3 
26 Female  5  5  1  2  1  4  4  3 
27 Female  2  1  1  1  1  1  1  1 
29 Male  2  2  2  2  1  4  4  4 
31 Female  3  1  1  1  1  5  2  3 
34 Female  4  1  1  4  3  3  1  4 
36 Female  5  1  1  4  4  5  1  2 
37 Male  5  1  2  4  4  5  4  5 
38 Female  3  1  1  1  1  1  1  1" 

要運行PCA,這是我的代碼:

x <- na.omit(x) #Jus to simplyfy 

resul <- prcomp(x[,-1], scale = TRUE) 

x$PC1 <- resul$x[,1] #Saving Scores PC1 
x$PC2 <- resul$x[,2] #Saving Scores PC2 

結果軸是這樣的:

biplot(resul, scale = 0) 

enter image description here

最後,做散點圖:

x %>% 
    group_by(Q1b) %>% 
    summarise(mean_PC1 = mean(PC1), 
      mean_PC2 = mean(PC2)) %>% 
    ggplot(aes(x=mean_PC1, y=mean_PC2, colour=Q1b)) + 
    geom_point() + 
    theme_bw() 

,給了我這樣的: enter image description here

我不知道怎麼樣讀取結果......我應該承認,女性一般在高於男性未來預期的尺寸獲得更高的價值。男性在創業層面獲得更高的價值?

在此先感謝!

回答

1

你對這些軸的解釋看起來是正確的,即PC1是一個從左到右代表減少「創業性」的梯度,而PC2是從下到上代表日益增加的預期的梯度(假設「5」在原始數據意味着最高的企業家/期望)。

就男性和女性是否不同而言,您可能需要繪製的不僅僅是每個羣體的手段:即使男性和女性在創業/期望方面確實相同,您也絕不會期望手段從兩個樣本在散點圖上坐在彼此的頂部。爲了解決這個問題,你可以繪製實際的觀察結果而不是他們的手段(即每行一個點,按性別劃分),看看他們是否在劇情空間中混合與分離。或者,根據主要組成部分迴歸性別。

另一個問題是,是否適合在有序數據上使用PCA - 請參閱here進行討論。

相關問題