由于本文的主要目的是计算综合因子得分。所以对于数据的处理和代码的解读不做过多描述。
#载入数据,求出相关系数矩阵
library(xlsx)
a0 <- read.xlsx("D:/Program Files (x86)/R/RData/sets/sjhz.xlsx",1,encoding = "UTF-8")
a0.cor <- cov2cor(cov(a0))
library(psych)
fa.parallel(a0.cor,n.obs = 70,fa="fa",n.iter = 100)#碎石图检验得到最佳公共因子个数为2
a0.varimax <- fa(a0.cor,nfactors = 2,n.obs = 70,rotate = "varimax",score=TRUE,fm="ml")#直接进行正交旋转,使用方法为极大似然估计。
a0.varimax
Factor Analysis using method = ml
Call: fa(r = a0.cor, nfactors = 2, n.obs = 70, rotate = "varimax",
scores = TRUE, fm = "ml")
Standardized loadings (pattern matrix) based upon correlation matrix
ML1 ML2 h2 u2 com
互联网普及率. 0.98 0.17 0.98 0.0204 1.1
人均域名数.万个 0.96 0.13 0.94 0.0578 1.0
人均网页数.万个 0.98 0.12 0.98 0.0228 1.0
人均网站数.万个 0.99 0.02 0.98 0.0192 1.0
每百户拥有电脑数.台 -0.05 -0.37 0.14 0.8577 1.0
光缆长度.万公里 0.94 0.34 1.00 0.0047 1.3
宽带接入.亿万个 0.98 0.21 1.00 0.0049 1.1
ML1 ML2
SS loadings 5.66 0.36
Proportion Var 0.81 0.05
Cumulative Var 0.81 0.86
Proportion Explained 0.94 0.06
Cumulative Proportion 0.94 1.00
a0.varimax$loadings#加载方差贡献率矩阵
Loadings:
ML1 ML2
互联网普及率. 0.976 0.165
人均域名数.万个 0.962 0.132
人均网页数.万个 0.981 0.119
人均网站数.万个 0.990
每百户拥有电脑数.台 -0.373
光缆长度.万公里 0.939 0.337
宽带接入.亿万个 0.976 0.208
ML1 ML2
SS loadings 5.657 0.356
Proportion Var 0.808 0.051
Cumulative Var 0.808 0.859
a0.varimax$weights#加载因子得分系数矩阵
ML1 ML2
互联网普及率. 0.18368570 -0.4015310
人均域名数.万个 0.08083919 -0.2136453
人均网页数.万个 0.23189681 -0.6513827
人均网站数.万个 0.43761894 -1.4780887
每百户拥有电脑数.台 0.01333917 -0.0586214
光缆长度.万公里 -0.41866839 3.3847911
宽带接入.亿万个 0.47837088 -0.460756
ma0 <- as.matrix(a0)
stand.ma0 <- scale(ma0,center = TRUE,scale = TRUE)
#数据标准化处理
F1 <- 0.184*stand.ma0[,1]+0.081*stand.ma0[,2]+0.232*stand.ma0[,3]+0.438*stand.ma0[,4]+0.013*stand.ma0[,5]-0.419*stand.ma0[,6]+0.478*stand.ma0[,7]
F2 <- -0.402*stand.ma0[,1]-0.214*stand.ma0[,2]-0.615*stand.ma0[,3]-1.478*stand.ma0[,4]-0.059*stand.ma0[,5]+3.385*stand.ma0[,6]-0.461*stand.ma0[,7]
#分别求出F1和F2两个公共因子的得分
F <- (0.81/0.859)*F1+(0.051/0.859)*F2#根据公式,求出综合因子得分
F
[1] -1.4240173 -1.1363644 -0.7601093 -0.4700832 -0.3066690 0.2791544 0.7210995
[8] 0.9218127 1.0497400 1.1254366
其中,累计方差为0.859,F1和F2的方差贡献率分别为0.81和0.051。
F1和F2的因子得分求解为因子得分系数矩阵与数据标准化后的原始数据的乘积