fa_Promax <- psych::fa(d11, nfactors =3, rotate ="Promax", fm ="ml")fa_Promax; fa_Promax$Phi
Factor Analysis using method = ml
Call: psych::fa(r = d11, nfactors = 3, rotate = "Promax", fm = "ml")
Standardized loadings (pattern matrix) based upon correlation matrix
ML2 ML1 ML3 h2 u2 com
NetShop 0.14 0.17 0.43 0.277 0.72 1.5
Devices 0.05 0.34 0.40 0.379 0.62 2.0
SNS -0.08 0.77 0.07 0.624 0.38 1.0
Books 0.60 -0.04 0.09 0.352 0.65 1.1
Library 0.46 -0.11 0.13 0.201 0.80 1.3
Comics 0.06 -0.11 0.40 0.134 0.87 1.2
NewsPaper 0.32 -0.06 -0.23 0.175 0.82 1.9
Volunteer 0.32 0.24 -0.20 0.198 0.80 2.6
Smoking -0.30 0.06 -0.05 0.088 0.91 1.1
ML2 ML1 ML3
SS loadings 0.88 0.88 0.67
Proportion Var 0.10 0.10 0.07
Cumulative Var 0.10 0.20 0.27
Proportion Explained 0.36 0.36 0.28
Cumulative Proportion 0.36 0.72 1.00
With factor correlations of
ML2 ML1 ML3
ML2 1.00 0.14 -0.11
ML1 0.14 1.00 0.38
ML3 -0.11 0.38 1.00
Mean item complexity = 1.5
Test of the hypothesis that 3 factors are sufficient.
df null model = 36 with the objective function = 0.72 with Chi Square = 263.81
df of the model are 12 and the objective function was 0.06
The root mean square of the residuals (RMSR) is 0.03
The df corrected root mean square of the residuals is 0.05
The harmonic n.obs is 373 with the empirical chi square 13.35 with prob < 0.34
The total n.obs was 373 with Likelihood Chi Square = 22.35 with prob < 0.034
Tucker Lewis Index of factoring reliability = 0.863
RMSEA index = 0.048 and the 90 % confidence intervals are 0.013 0.079
BIC = -48.71
Fit based upon off diagonal values = 0.95
Measures of factor score adequacy
ML2 ML1 ML3
Correlation of (regression) scores with factors 0.74 0.76 0.65
Multiple R square of scores with factors 0.54 0.57 0.42
Minimum correlation of possible factor scores 0.08 0.14 -0.17
n1 <-nrow(d01m) # SEMの為にケース数を保存cor2 <-cor(d01m) # SEMの為に相関係数行列を保存pathE <- sem::specifyEquations() # 記法その1 edu = b12 * age income = b13 * age + b23 * eduV(age) = e1V(edu) = e2V(income) = e3pathM <- sem::specifyModel() # 記法その2 age -> edu, b12, NA age -> income, b13, NA edu -> income, b23, NA age <-> age, e1, NA edu <-> edu, e2, NA income <-> income, e3, NAprint(pathE) # 結果の同一性の確認print(pathM)
resultE <- sem::sem(pathE, cor2, N = n1)summary(resultE)
> summary(resultE)
Model Chisquare = -2.298162e-14 Df = 0 Pr(>Chisq) = NA
Goodness-of-fit index = 1
AIC = 12
BIC = -2.298162e-14
Normalized Residuals
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000e+00 0.000e+00 0.000e+00 1.404e-16 0.000e+00 6.320e-16
R-square for Endogenous Variables
edu income
0.0813 0.1197
Parameter Estimates
Estimate Std Error z value Pr(>|z|)
b12 -0.2850766 0.08159334 -3.493871 4.760707e-04 edu <--- age
b13 0.2443898 0.08332705 2.932899 3.358133e-03 income <--- age
b23 0.3242468 0.08332705 3.891255 9.972694e-05 income <--- edu
e1 1.0000000 0.12038585 8.306624 9.846344e-17 age <--> age
e2 0.9187313 0.11060225 8.306624 9.846344e-17 edu <--> edu
e3 0.8803181 0.10597784 8.306624 9.846344e-17 income <--> income
Iterations = 0
The default is to do a oblimin transformation, although versions prior to 2009 defaulted to varimax. SPSS seems to do a Kaiser normalization before doing Promax, this is done here by the call to “promax” which does the normalization before calling Promax in GPArotation.↩︎