我是R的小新手,不熟悉PCA。我的问题是,从调查中我得到了一个列表,其中包含9个变量的观察结果,第一个是受访者的性别,接下来的五个(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之间的值。我想制作一个带有两个轴的散点图。第一个是"企业家变量"第二轴带有"未来期望变量"然后在散点图中定义男性和女性的位置。我的数据如下所示:
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)
最后,制作散点图:
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()
我不确定如何阅读结果......我是否应该接受女性在未来期望的维度上获得的价值高于男性。男性在创业方面获得更高的价值吗?
提前致谢!!
答案 0 :(得分:1)
你对轴的解释看起来是正确的,即PC1是一个渐变,从左到右代表减少“创业”,而PC2是一个渐变,从下到上代表增加的未来预期(假设“5”在原始数据意味着最高的企业家精神/期望。)
就男性和女性是否不同而言,您可能需要为每个群体绘制更多的手段:即使男性和女性在创业/期望方面真正相同,您也绝不会期望从两个样本在散点图上正好坐在一起。为了解决这个问题,您可以绘制实际观察结果而不是它们的平均值(即每行一个点,按性别着色)并查看它们是否在绘图空间中混合而不是分开。或者,针对主要成分回归性别。
另一个问题是,在序数数据上使用PCA是否合适 - 请参阅here进行讨论。