如何使用 R 中的因子分析对 PCA 中的组观察进行平均?
How can you average out group observations in PCA with factor anlaysis in R?
我正在尝试使用因子分析绘制主成分分析图,以显示观察组在结果维度上的不同位置。
x = data.frame(v1=c(10, 20, 5, 26, 2, 30),
v2=c(23, 31, 34, 63, 12, 7),
v3=c(2, 6, 1, 0, 3, 5),
group=c("A", "B", "A", "B", "A", "B"))
result <- PCA(x[1:3])
这会产生两个图表:
Observations in PCA
Variable from factor analysis
我想做的是,我不想让观察值 1 到 6 分别位于第一张图中,而是希望有 A 组和 B 组,由它们的分量观察值 (1, A 为 3、5,B 为 2、4、6)。
如有解决方案,万分感谢!
您可以提取值并按组计算平均值:
x = data.frame(v1=c(10, 20, 5, 26, 2, 30),
v2=c(23, 31, 34, 63, 12, 7),
v3=c(2, 6, 1, 0, 3, 5),
group=c("A", "B", "A", "B", "A", "B"))
result <- PCA(x[1:3])
values<-as.data.frame(result$ind$coord)
values$group<-x$group
final<-aggregate(. ~ group, values, mean)
plot(final$Dim.1,final$Dim.2,xlim=c(-2.5,2.5),ylim=c(-2.5,2.5))
abline(h = 0, v = 0, col = "gray60")
text(final$Dim.1,final$Dim.2-0.09,labels = final$group)
我正在尝试使用因子分析绘制主成分分析图,以显示观察组在结果维度上的不同位置。
x = data.frame(v1=c(10, 20, 5, 26, 2, 30),
v2=c(23, 31, 34, 63, 12, 7),
v3=c(2, 6, 1, 0, 3, 5),
group=c("A", "B", "A", "B", "A", "B"))
result <- PCA(x[1:3])
这会产生两个图表: Observations in PCA
Variable from factor analysis
我想做的是,我不想让观察值 1 到 6 分别位于第一张图中,而是希望有 A 组和 B 组,由它们的分量观察值 (1, A 为 3、5,B 为 2、4、6)。
如有解决方案,万分感谢!
您可以提取值并按组计算平均值:
x = data.frame(v1=c(10, 20, 5, 26, 2, 30),
v2=c(23, 31, 34, 63, 12, 7),
v3=c(2, 6, 1, 0, 3, 5),
group=c("A", "B", "A", "B", "A", "B"))
result <- PCA(x[1:3])
values<-as.data.frame(result$ind$coord)
values$group<-x$group
final<-aggregate(. ~ group, values, mean)
plot(final$Dim.1,final$Dim.2,xlim=c(-2.5,2.5),ylim=c(-2.5,2.5))
abline(h = 0, v = 0, col = "gray60")
text(final$Dim.1,final$Dim.2-0.09,labels = final$group)