library(foreign)
data<-read.spss("../例5-2.sav")
data
## $地区
## [1] "北 京 " "天 津 " "河 北 "
## [4] "山 西 " "内蒙古 " "辽 宁 "
## [7] "吉 林 " "黑龙江 " "上 海 "
## [10] "江 苏 " "浙 江 " "安 徽 "
## [13] "福 建 " "江 西 " "山 东 "
## [16] "河 南 " "湖 北 " "湖 南 "
## [19] "广 东 " "广 西 " "海 南 "
## [22] "重 庆 " "四 川 " "贵 州 "
## [25] "云 南 " "西 藏 " "陕 西 "
## [28] "甘 肃 " "青 海 " "宁 夏 "
## [31] "新 疆 "
##
## $X1
## [1] 17837.50 26654.45 46906.78 12757.28 19884.38 21035.90 23412.38
## [8] 11103.56 31056.80 155820.09 66628.47 42329.72 43309.15 32928.80
## [15] 148872.26 79404.82 47295.43 39319.29 129840.69 23406.97 1765.10
## [22] 23497.42 42103.39 11550.45 10080.39 163.73 21788.47 6527.42
## [29] 2663.51 3899.68 8105.79
##
## $X2
## [1] 43093.68 25075.09 44562.88 33621.95 30900.83 36106.92 18969.47
## [8] 14951.92 39838.24 114536.32 69468.91 33563.37 32081.30 21811.92
## [15] 105046.32 60454.73 37942.33 25518.07 105604.17 16023.46 2764.18
## [22] 20214.63 41514.58 14319.98 19474.18 1110.65 30828.91 12263.36
## [29] 6143.77 8521.18 19538.65
##
## $X3
## [1] 19798.13 15385.02 24449.56 25579.36 19445.75 23272.90 9932.67
## [8] 8399.97 19588.27 59466.56 38304.18 19039.87 16779.94 10549.25
## [15] 56837.87 28805.88 20355.90 13343.81 59318.72 9825.40 1538.21
## [22] 12374.58 24234.79 9074.84 12431.16 550.52 17380.70 8076.14
## [29] 4203.12 5773.39 12525.08
##
## $X4
## [1] 23272.45 10095.20 19977.44 8041.22 11370.20 12286.17 9022.79
## [8] 6542.24 20004.96 54939.31 30863.45 14403.25 15169.60 11192.47
## [15] 47850.60 31347.06 17502.70 12171.52 45694.31 6185.34 1225.97
## [22] 7709.01 17167.51 5238.94 7031.04 554.21 13368.89 4187.87
## [29] 1937.98 2745.60 7005.82
##
## $X5
## [1] 19746.96 25888.20 47318.60 14226.45 20056.67 22038.95 23431.37
## [8] 11347.77 34315.15 156591.04 65453.88 42190.46 42537.24 35961.32
## [15] 150641.21 79657.15 45850.64 39134.64 129151.31 22231.30 1668.92
## [22] 23467.03 41529.25 11172.44 10149.03 171.82 21027.90 7850.29
## [29] 2244.47 3646.10 8300.96
##
## $X6
## [1] 1608.26 2046.69 2815.11 294.78 1344.41 575.39 1268.49
## [8] 295.54 2913.91 10574.40 4469.42 2242.26 2889.26 2443.93
## [15] 8820.02 5240.61 2713.46 2028.59 8383.04 1393.35 101.87
## [22] 1648.36 2339.82 847.02 334.98 16.94 1589.00 72.68
## [29] 80.02 143.23 386.59
##
## $X7
## [1] 635.55 -6.52 -229.49 92.52 29.95 77.04 95.45 7.67
## [9] 604.70 215.01 326.89 45.46 40.51 31.24 189.58 87.93
## [17] 185.24 16.73 463.62 -163.42 10.52 56.99 -56.51 18.63
## [25] 66.62 0.56 70.87 -46.23 1.95 5.53 32.02
##
## $X8
## [1] 104.45 146.98 367.32 190.72 120.71 228.05 143.47 117.40
## [9] 215.34 1111.84 690.30 330.49 421.66 269.13 905.76 724.19
## [17] 343.86 336.31 1435.86 174.62 10.87 194.95 338.15 103.41
## [25] 90.18 2.00 175.01 59.71 20.13 31.12 71.57
##
## attr(,"label.table")
## attr(,"label.table")$地区
## NULL
##
## attr(,"label.table")$X1
## NULL
##
## attr(,"label.table")$X2
## NULL
##
## attr(,"label.table")$X3
## NULL
##
## attr(,"label.table")$X4
## NULL
##
## attr(,"label.table")$X5
## NULL
##
## attr(,"label.table")$X6
## NULL
##
## attr(,"label.table")$X7
## NULL
##
## attr(,"label.table")$X8
## NULL
##
## attr(,"codepage")
## [1] 936
df <-as.data.frame(data)
df <- df[,2:9]
df
## X1 X2 X3 X4 X5 X6 X7
## 1 17837.50 43093.68 19798.13 23272.45 19746.96 1608.26 635.55
## 2 26654.45 25075.09 15385.02 10095.20 25888.20 2046.69 -6.52
## 3 46906.78 44562.88 24449.56 19977.44 47318.60 2815.11 -229.49
## 4 12757.28 33621.95 25579.36 8041.22 14226.45 294.78 92.52
## 5 19884.38 30900.83 19445.75 11370.20 20056.67 1344.41 29.95
## 6 21035.90 36106.92 23272.90 12286.17 22038.95 575.39 77.04
## 7 23412.38 18969.47 9932.67 9022.79 23431.37 1268.49 95.45
## 8 11103.56 14951.92 8399.97 6542.24 11347.77 295.54 7.67
## 9 31056.80 39838.24 19588.27 20004.96 34315.15 2913.91 604.70
## 10 155820.09 114536.32 59466.56 54939.31 156591.04 10574.40 215.01
## 11 66628.47 69468.91 38304.18 30863.45 65453.88 4469.42 326.89
## 12 42329.72 33563.37 19039.87 14403.25 42190.46 2242.26 45.46
## 13 43309.15 32081.30 16779.94 15169.60 42537.24 2889.26 40.51
## 14 32928.80 21811.92 10549.25 11192.47 35961.32 2443.93 31.24
## 15 148872.26 105046.32 56837.87 47850.60 150641.21 8820.02 189.58
## 16 79404.82 60454.73 28805.88 31347.06 79657.15 5240.61 87.93
## 17 47295.43 37942.33 20355.90 17502.70 45850.64 2713.46 185.24
## 18 39319.29 25518.07 13343.81 12171.52 39134.64 2028.59 16.73
## 19 129840.69 105604.17 59318.72 45694.31 129151.31 8383.04 463.62
## 20 23406.97 16023.46 9825.40 6185.34 22231.30 1393.35 -163.42
## 21 1765.10 2764.18 1538.21 1225.97 1668.92 101.87 10.52
## 22 23497.42 20214.63 12374.58 7709.01 23467.03 1648.36 56.99
## 23 42103.39 41514.58 24234.79 17167.51 41529.25 2339.82 -56.51
## 24 11550.45 14319.98 9074.84 5238.94 11172.44 847.02 18.63
## 25 10080.39 19474.18 12431.16 7031.04 10149.03 334.98 66.62
## 26 163.73 1110.65 550.52 554.21 171.82 16.94 0.56
## 27 21788.47 30828.91 17380.70 13368.89 21027.90 1589.00 70.87
## 28 6527.42 12263.36 8076.14 4187.87 7850.29 72.68 -46.23
## 29 2663.51 6143.77 4203.12 1937.98 2244.47 80.02 1.95
## 30 3899.68 8521.18 5773.39 2745.60 3646.10 143.23 5.53
## 31 8105.79 19538.65 12525.08 7005.82 8300.96 386.59 32.02
## X8
## 1 104.45
## 2 146.98
## 3 367.32
## 4 190.72
## 5 120.71
## 6 228.05
## 7 143.47
## 8 117.40
## 9 215.34
## 10 1111.84
## 11 690.30
## 12 330.49
## 13 421.66
## 14 269.13
## 15 905.76
## 16 724.19
## 17 343.86
## 18 336.31
## 19 1435.86
## 20 174.62
## 21 10.87
## 22 194.95
## 23 338.15
## 24 103.41
## 25 90.18
## 26 2.00
## 27 175.01
## 28 59.71
## 29 20.13
## 30 31.12
## 31 71.57
df_zscale <-scale(df)
df_main <-princomp(df_zscale ,cor=TRUE) #主成分分析
df_main
## Call:
## princomp(x = df_zscale, cor = TRUE)
##
## Standard deviations:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
## 2.63788670 0.90991131 0.33007579 0.28087498 0.13397282 0.08685983
## Comp.7 Comp.8
## 0.01648124 0.00306435
##
## 8 variables and 31 observations.
df_main$loadings
##
## Loadings:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
## X1 0.372 0.173 0.266 0.122 0.337 0.334 0.721
## X2 0.375 -0.391 0.142 -0.154 0.812
## X3 0.368 -0.697 0.369 -0.239 -0.430
## X4 0.375 0.311 -0.734 0.259 -0.390
## X5 0.372 0.162 0.268 0.159 0.361 0.360 -0.690
## X6 0.372 0.433 0.171 -0.795
## X7 0.184 -0.958 0.153 0.142
## X8 0.365 0.110 -0.900 -0.187
##
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
## SS loadings 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
## Proportion Var 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
## Cumulative Var 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
summary(df_main,loadings=TRUE) #列出结果 包含特征向量
## Importance of components:
## Comp.1 Comp.2 Comp.3 Comp.4
## Standard deviation 2.6378867 0.9099113 0.33007579 0.280874978
## Proportion of Variance 0.8698058 0.1034923 0.01361875 0.009861344
## Cumulative Proportion 0.8698058 0.9732981 0.98691686 0.996778204
## Comp.5 Comp.6 Comp.7 Comp.8
## Standard deviation 0.13397282 0.0868598307 1.648124e-02 3.06435e-03
## Proportion of Variance 0.00224359 0.0009430788 3.395392e-05 1.17378e-06
## Cumulative Proportion 0.99902179 0.9999648723 9.999988e-01 1.00000e+00
##
## Loadings:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
## X1 0.372 0.173 0.266 0.122 0.337 0.334 0.721
## X2 0.375 -0.391 0.142 -0.154 0.812
## X3 0.368 -0.697 0.369 -0.239 -0.430
## X4 0.375 0.311 -0.734 0.259 -0.390
## X5 0.372 0.162 0.268 0.159 0.361 0.360 -0.690
## X6 0.372 0.433 0.171 -0.795
## X7 0.184 -0.958 0.153 0.142
## X8 0.365 0.110 -0.900 -0.187
y <-eigen(cor(df_zscale)) #求出cor(df_zscale)的特征值和特征向量,
y#此时输出的结果为8个特征值(有8个变量),输出的特征向量的符号可能与SPSS相反
## eigen() decomposition
## $values
## [1] 6.958446e+00 8.279386e-01 1.089500e-01 7.889075e-02 1.794872e-02
## [6] 7.544630e-03 2.716313e-04 9.390238e-06
##
## $vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.3720562 0.173238587 -0.26644687 -0.121954647 -0.33670150
## [2,] -0.3754571 -0.022033020 0.39105926 -0.141590822 0.15436478
## [3,] -0.3683520 0.008133002 0.69698001 -0.002128989 -0.36886785
## [4,] -0.3752225 -0.053518028 0.03694169 -0.310634667 0.73394072
## [5,] -0.3724194 0.161586146 -0.26806913 -0.159193765 -0.36061899
## [6,] -0.3722483 0.099774028 -0.43280548 -0.171038499 0.05441248
## [7,] -0.1843655 -0.958284741 -0.15279541 0.057656805 -0.14216316
## [8,] -0.3645208 0.110444690 -0.08003013 0.900366339 0.18669228
## [,6] [,7] [,8]
## [1,] 0.33359454 0.720844475 -0.0377589677
## [2,] 0.01652239 -0.045977733 -0.8120072501
## [3,] -0.23896648 0.025991152 0.4296754584
## [4,] 0.25861473 0.023878219 0.3903391002
## [5,] 0.36041234 -0.689987328 0.0443208043
## [6,] -0.79471870 -0.012577588 -0.0143141245
## [7,] 0.02695625 0.009572865 0.0005908193
## [8,] 0.04747230 -0.026291329 0.0079559173
sum(y$values[1:5])/sum(y$values) #求前5个主成分的累计方差贡献率,当然可以改为其他
## [1] 0.9990218
df_main$loadings[,1:5]#输出前5个主成分的载荷矩阵
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## X1 0.3720562 0.173238587 0.26644687 0.121954647 0.33670150
## X2 0.3754571 -0.022033020 -0.39105926 0.141590822 -0.15436478
## X3 0.3683520 0.008133002 -0.69698001 0.002128989 0.36886785
## X4 0.3752225 -0.053518028 -0.03694169 0.310634667 -0.73394072
## X5 0.3724194 0.161586146 0.26806913 0.159193765 0.36061899
## X6 0.3722483 0.099774028 0.43280548 0.171038499 -0.05441248
## X7 0.1843655 -0.958284741 0.15279541 -0.057656805 0.14216316
## X8 0.3645208 0.110444690 0.08003013 -0.900366339 -0.18669228
screeplot(df_main,type='lines') #画出碎石图

df_zscale_ma <- as.matrix(df_zscale)# 矩阵相乘要把数据转为num或者matrix
df_zscale_ma %*% y$vectors[,1]#标准化后的数据乘以第一主成分对应的特征向量作为系数的和,可以此来排分
## [,1]
## [1,] -0.198462060
## [2,] 0.882723345
## [3,] -0.368068530
## [4,] 0.918749631
## [5,] 0.881515459
## [6,] 0.613953075
## [7,] 1.187674022
## [8,] 1.817990300
## [9,] -0.589422674
## [10,] -7.396681186
## [11,] -2.791827955
## [12,] -0.002514571
## [13,] -0.146452299
## [14,] 0.636810974
## [15,] -6.405389570
## [16,] -2.618835557
## [17,] -0.471398138
## [18,] 0.406834802
## [19,] -6.821372443
## [20,] 1.518310752
## [21,] 2.599911682
## [22,] 1.076271798
## [23,] -0.220211413
## [24,] 1.770287816
## [25,] 1.635948802
## [26,] 2.723027317
## [27,] 0.718238592
## [28,] 2.145108570
## [29,] 2.460519993
## [30,] 2.321509828
## [31,] 1.715249637
#判断PCA中需要多少个主成分
#最常见的是基于特征值的方法,每个主成分都与相关系数矩阵的特征值相关联,常见的方法有Kaiser-Harris准则、Cattell碎石检验和平行分析。使用fa.parallel()函数,可以同时对三种特征值判别准则进行评价。
library(psych)
## Warning: package 'psych' was built under R version 3.6.1
library(foreign)
data<-read.spss("../例5-2.sav")
data
## $地区
## [1] "北 京 " "天 津 " "河 北 "
## [4] "山 西 " "内蒙古 " "辽 宁 "
## [7] "吉 林 " "黑龙江 " "上 海 "
## [10] "江 苏 " "浙 江 " "安 徽 "
## [13] "福 建 " "江 西 " "山 东 "
## [16] "河 南 " "湖 北 " "湖 南 "
## [19] "广 东 " "广 西 " "海 南 "
## [22] "重 庆 " "四 川 " "贵 州 "
## [25] "云 南 " "西 藏 " "陕 西 "
## [28] "甘 肃 " "青 海 " "宁 夏 "
## [31] "新 疆 "
##
## $X1
## [1] 17837.50 26654.45 46906.78 12757.28 19884.38 21035.90 23412.38
## [8] 11103.56 31056.80 155820.09 66628.47 42329.72 43309.15 32928.80
## [15] 148872.26 79404.82 47295.43 39319.29 129840.69 23406.97 1765.10
## [22] 23497.42 42103.39 11550.45 10080.39 163.73 21788.47 6527.42
## [29] 2663.51 3899.68 8105.79
##
## $X2
## [1] 43093.68 25075.09 44562.88 33621.95 30900.83 36106.92 18969.47
## [8] 14951.92 39838.24 114536.32 69468.91 33563.37 32081.30 21811.92
## [15] 105046.32 60454.73 37942.33 25518.07 105604.17 16023.46 2764.18
## [22] 20214.63 41514.58 14319.98 19474.18 1110.65 30828.91 12263.36
## [29] 6143.77 8521.18 19538.65
##
## $X3
## [1] 19798.13 15385.02 24449.56 25579.36 19445.75 23272.90 9932.67
## [8] 8399.97 19588.27 59466.56 38304.18 19039.87 16779.94 10549.25
## [15] 56837.87 28805.88 20355.90 13343.81 59318.72 9825.40 1538.21
## [22] 12374.58 24234.79 9074.84 12431.16 550.52 17380.70 8076.14
## [29] 4203.12 5773.39 12525.08
##
## $X4
## [1] 23272.45 10095.20 19977.44 8041.22 11370.20 12286.17 9022.79
## [8] 6542.24 20004.96 54939.31 30863.45 14403.25 15169.60 11192.47
## [15] 47850.60 31347.06 17502.70 12171.52 45694.31 6185.34 1225.97
## [22] 7709.01 17167.51 5238.94 7031.04 554.21 13368.89 4187.87
## [29] 1937.98 2745.60 7005.82
##
## $X5
## [1] 19746.96 25888.20 47318.60 14226.45 20056.67 22038.95 23431.37
## [8] 11347.77 34315.15 156591.04 65453.88 42190.46 42537.24 35961.32
## [15] 150641.21 79657.15 45850.64 39134.64 129151.31 22231.30 1668.92
## [22] 23467.03 41529.25 11172.44 10149.03 171.82 21027.90 7850.29
## [29] 2244.47 3646.10 8300.96
##
## $X6
## [1] 1608.26 2046.69 2815.11 294.78 1344.41 575.39 1268.49
## [8] 295.54 2913.91 10574.40 4469.42 2242.26 2889.26 2443.93
## [15] 8820.02 5240.61 2713.46 2028.59 8383.04 1393.35 101.87
## [22] 1648.36 2339.82 847.02 334.98 16.94 1589.00 72.68
## [29] 80.02 143.23 386.59
##
## $X7
## [1] 635.55 -6.52 -229.49 92.52 29.95 77.04 95.45 7.67
## [9] 604.70 215.01 326.89 45.46 40.51 31.24 189.58 87.93
## [17] 185.24 16.73 463.62 -163.42 10.52 56.99 -56.51 18.63
## [25] 66.62 0.56 70.87 -46.23 1.95 5.53 32.02
##
## $X8
## [1] 104.45 146.98 367.32 190.72 120.71 228.05 143.47 117.40
## [9] 215.34 1111.84 690.30 330.49 421.66 269.13 905.76 724.19
## [17] 343.86 336.31 1435.86 174.62 10.87 194.95 338.15 103.41
## [25] 90.18 2.00 175.01 59.71 20.13 31.12 71.57
##
## attr(,"label.table")
## attr(,"label.table")$地区
## NULL
##
## attr(,"label.table")$X1
## NULL
##
## attr(,"label.table")$X2
## NULL
##
## attr(,"label.table")$X3
## NULL
##
## attr(,"label.table")$X4
## NULL
##
## attr(,"label.table")$X5
## NULL
##
## attr(,"label.table")$X6
## NULL
##
## attr(,"label.table")$X7
## NULL
##
## attr(,"label.table")$X8
## NULL
##
## attr(,"codepage")
## [1] 936
df <-as.data.frame(data)
df <- df[,2:9]
df
## X1 X2 X3 X4 X5 X6 X7
## 1 17837.50 43093.68 19798.13 23272.45 19746.96 1608.26 635.55
## 2 26654.45 25075.09 15385.02 10095.20 25888.20 2046.69 -6.52
## 3 46906.78 44562.88 24449.56 19977.44 47318.60 2815.11 -229.49
## 4 12757.28 33621.95 25579.36 8041.22 14226.45 294.78 92.52
## 5 19884.38 30900.83 19445.75 11370.20 20056.67 1344.41 29.95
## 6 21035.90 36106.92 23272.90 12286.17 22038.95 575.39 77.04
## 7 23412.38 18969.47 9932.67 9022.79 23431.37 1268.49 95.45
## 8 11103.56 14951.92 8399.97 6542.24 11347.77 295.54 7.67
## 9 31056.80 39838.24 19588.27 20004.96 34315.15 2913.91 604.70
## 10 155820.09 114536.32 59466.56 54939.31 156591.04 10574.40 215.01
## 11 66628.47 69468.91 38304.18 30863.45 65453.88 4469.42 326.89
## 12 42329.72 33563.37 19039.87 14403.25 42190.46 2242.26 45.46
## 13 43309.15 32081.30 16779.94 15169.60 42537.24 2889.26 40.51
## 14 32928.80 21811.92 10549.25 11192.47 35961.32 2443.93 31.24
## 15 148872.26 105046.32 56837.87 47850.60 150641.21 8820.02 189.58
## 16 79404.82 60454.73 28805.88 31347.06 79657.15 5240.61 87.93
## 17 47295.43 37942.33 20355.90 17502.70 45850.64 2713.46 185.24
## 18 39319.29 25518.07 13343.81 12171.52 39134.64 2028.59 16.73
## 19 129840.69 105604.17 59318.72 45694.31 129151.31 8383.04 463.62
## 20 23406.97 16023.46 9825.40 6185.34 22231.30 1393.35 -163.42
## 21 1765.10 2764.18 1538.21 1225.97 1668.92 101.87 10.52
## 22 23497.42 20214.63 12374.58 7709.01 23467.03 1648.36 56.99
## 23 42103.39 41514.58 24234.79 17167.51 41529.25 2339.82 -56.51
## 24 11550.45 14319.98 9074.84 5238.94 11172.44 847.02 18.63
## 25 10080.39 19474.18 12431.16 7031.04 10149.03 334.98 66.62
## 26 163.73 1110.65 550.52 554.21 171.82 16.94 0.56
## 27 21788.47 30828.91 17380.70 13368.89 21027.90 1589.00 70.87
## 28 6527.42 12263.36 8076.14 4187.87 7850.29 72.68 -46.23
## 29 2663.51 6143.77 4203.12 1937.98 2244.47 80.02 1.95
## 30 3899.68 8521.18 5773.39 2745.60 3646.10 143.23 5.53
## 31 8105.79 19538.65 12525.08 7005.82 8300.96 386.59 32.02
## X8
## 1 104.45
## 2 146.98
## 3 367.32
## 4 190.72
## 5 120.71
## 6 228.05
## 7 143.47
## 8 117.40
## 9 215.34
## 10 1111.84
## 11 690.30
## 12 330.49
## 13 421.66
## 14 269.13
## 15 905.76
## 16 724.19
## 17 343.86
## 18 336.31
## 19 1435.86
## 20 174.62
## 21 10.87
## 22 194.95
## 23 338.15
## 24 103.41
## 25 90.18
## 26 2.00
## 27 175.01
## 28 59.71
## 29 20.13
## 30 31.12
## 31 71.57
df_zscale <-scale(df)
fa.parallel(df, fa="pc", n.iter=100, show.legend=FALSE, main="Scree plot with parallel analysis")#展示了基于观测特征值的碎石检验(由线段和x符号组成)、根据100个随机数据矩阵推导出来的特征值均值(虚线),以及大于1的特征值准则(y=1的水平线)。三种准则都表明选择一个主成分即可保留数据集的大部分信息
## Warning in fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs
## = np.obs, : The estimated weights for the factor scores are probably
## incorrect. Try a different factor extraction method.

## Parallel analysis suggests that the number of factors = NA and the number of components = 1
#principal(r, nfactors=, rotate=, scores=)#其中r是相关系数矩阵或原始数据矩阵,nfactors设定主成分数(默认为1),rotate指定旋转的方法(默认最大方差旋转varimax),scores设定是否需要计算主成分得分(默认不需要)。使用以下代码可以获得USJudgeRatings的第一主成分。
df_principal <- principal(df, nfactors=1)#PC1栏包含了成分载荷,指观测变量与主成分的相关系数,
#h2栏指成分公因子方差——主成分对每个变量的方差解释度;u2栏指成分唯一性——方差无法被主成分解释的比例(1-h2)。
df_principal
## Principal Components Analysis
## Call: principal(r = df, nfactors = 1)
## Standardized loadings (pattern matrix) based upon correlation matrix
## PC1 h2 u2 com
## X1 0.98 0.96 0.037 1
## X2 0.99 0.98 0.019 1
## X3 0.97 0.94 0.056 1
## X4 0.99 0.98 0.020 1
## X5 0.98 0.97 0.035 1
## X6 0.98 0.96 0.036 1
## X7 0.49 0.24 0.763 1
## X8 0.96 0.92 0.075 1
##
## PC1
## SS loadings 6.96
## Proportion Var 0.87
##
## Mean item complexity = 1
## Test of the hypothesis that 1 component is sufficient.
##
## The root mean square of the residuals (RMSR) is 0.04
## with the empirical chi square 3.34 with prob < 1
##
## Fit based upon off diagonal values = 1
# df_zscale_ma <- as.matrix(df_zscale)
# df_principal[,2]
# df_zscale_ma %*% df_principal $ PC1#想这么做来着,但是PC1这一列取不出来