R:绘制varimax旋转因子分析

时间:2016-11-01 19:32:47

标签: r pca factor-analysis

我想用因子分析和PCA将我的数据分析为here

它到目前为止有效,但我所知道的是以下内容。

如何执行varimax旋转并在相关圆中可视化旋转的矩阵?

res.pca <- prcomp(decathlon2.active, scale = TRUE)
my.var <- varimax(res.pca$rotation)

res.pcaprcomp个对象,my.varlist,因此我无法将其用于文章中描述的图表。

有什么想法吗?

编辑(dput(decathlon2.active)的输出):

> data(decathlon2)
> decathlon2.active <- decathlon2[1:23, 1:10]
> dput(decathlon2.active)
structure(list(X100m = c(11.04, 10.76, 11.02, 11.34, 11.13, 10.83, 
11.64, 11.37, 11.33, 11.33, 11.36, 10.85, 10.44, 10.5, 10.89, 
10.62, 10.91, 10.97, 10.69, 10.98, 10.95, 10.9, 11.14), Long.jump = c(7.58, 
7.4, 7.23, 7.09, 7.3, 7.31, 6.81, 7.56, 6.97, 7.27, 6.8, 7.84, 
7.96, 7.81, 7.47, 7.74, 7.14, 7.19, 7.48, 7.49, 7.31, 7.3, 6.99
), Shot.put = c(14.83, 14.26, 14.25, 15.19, 13.48, 13.76, 14.57, 
14.41, 14.09, 12.68, 13.46, 16.36, 15.23, 15.93, 15.73, 14.48, 
15.31, 14.65, 14.8, 14.01, 15.1, 14.77, 14.91), High.jump = c(2.07, 
1.86, 1.92, 2.1, 2.01, 2.13, 1.95, 1.86, 1.95, 1.98, 1.86, 2.12, 
2.06, 2.09, 2.15, 1.97, 2.12, 2.03, 2.12, 1.94, 2.06, 1.88, 1.94
), X400m = c(49.81, 49.37, 48.93, 50.42, 48.62, 49.91, 50.14, 
51.1, 49.48, 49.2, 51.16, 48.36, 49.19, 46.81, 48.97, 47.97, 
49.4, 48.73, 49.13, 49.76, 50.79, 50.3, 49.41), X110m.hurdle = c(14.69, 
14.05, 14.99, 15.31, 14.17, 14.38, 14.93, 15.06, 14.48, 15.29, 
15.67, 14.05, 14.13, 13.97, 14.56, 14.01, 14.95, 14.25, 14.17, 
14.25, 14.21, 14.34, 14.37), Discus = c(43.75, 50.72, 40.87, 
46.26, 45.67, 44.41, 47.6, 44.99, 42.1, 37.92, 40.49, 48.72, 
50.11, 51.65, 48.34, 43.73, 45.62, 44.72, 44.75, 42.43, 44.6, 
44.41, 44.83), Pole.vault = c(5.02, 4.92, 5.32, 4.72, 4.42, 4.42, 
4.92, 4.82, 4.72, 4.62, 5.02, 5, 4.9, 4.6, 4.4, 4.9, 4.7, 4.8, 
4.4, 5.1, 5, 5, 4.6), Javeline = c(63.19, 60.15, 62.77, 63.44, 
55.37, 56.37, 52.33, 57.19, 55.4, 57.44, 54.68, 70.52, 69.71, 
55.54, 58.46, 55.39, 63.45, 57.76, 55.27, 56.32, 53.45, 60.89, 
64.55), X1500m = c(291.7, 301.5, 280.1, 276.4, 268, 285.1, 262.1, 
285.1, 282, 266.6, 291.7, 280.01, 282, 278.11, 265.42, 278.05, 
269.54, 264.35, 276.31, 273.56, 287.63, 278.82, 267.09)), .Names = c("X100m", 
"Long.jump", "Shot.put", "High.jump", "X400m", "X110m.hurdle", 
"Discus", "Pole.vault", "Javeline", "X1500m"), row.names = c("SEBRLE", 
"CLAY", "BERNARD", "YURKOV", "ZSIVOCZKY", "McMULLEN", "MARTINEAU", 
"HERNU", "BARRAS", "NOOL", "BOURGUIGNON", "Sebrle", "Clay", "Karpov", 
"Macey", "Warners", "Zsivoczky", "Hernu", "Bernard", "Schwarzl", 
"Pogorelov", "Schoenbeck", "Barras"), class = "data.frame")

0 个答案:

没有答案