## Warning: package 'lavaan' was built under R version 3.4.4
## This is lavaan 0.5-23.1097
## lavaan is BETA software! Please report any bugs.
## Warning: package 'data.table' was built under R version 3.4.2
## Warning: package 'psych' was built under R version 3.4.4
##
## Attaching package: 'psych'
## The following object is masked from 'package:lavaan':
##
## cor2cov
## Warning: package 'semPlot' was built under R version 3.4.4
### 파일 불러옹기
f2structure <- fread("F2structure.csv")
head(f2structure)
## X1 X2 X3 X6 X7 X8
## 1: 5 4 4 5 6 6
## 2: 4 3 4 5 5 4
## 3: 3 4 2 5 5 6
## 4: 6 6 5 5 5 5
## 5: 3 3 3 4 4 3
## 6: 4 5 3 5 4 5
### 평균값, 표준편차 행 추가
mydesc <- round(rbind(apply(f2structure, 2, mean), apply(f2structure, 2, sd)),2)
### 상관계수
mycor <- round(cor(f2structure),2)
### 앞선 결과와 행이름 추가
myresult <- rbind(mycor, mydesc)
rownames(myresult)[7:8] <- c("M", "SD")
myresult
## X1 X2 X3 X6 X7 X8
## X1 1.00 0.42 0.52 0.25 0.20 0.27
## X2 0.42 1.00 0.52 0.28 0.25 0.33
## X3 0.52 0.52 1.00 0.28 0.25 0.35
## X6 0.25 0.28 0.28 1.00 0.50 0.60
## X7 0.20 0.25 0.25 0.50 1.00 0.50
## X8 0.27 0.33 0.35 0.60 0.50 1.00
## M 4.02 4.06 4.03 4.09 4.00 4.01
## SD 1.23 1.28 1.25 1.28 1.30 1.23
변수들의 분포를 다변량 정규분포라고 가정하는 최대우도법(ML)을 인자추출방법으로, 잠재변수들인 인자들의 관계를시각회전의 일종인 프로맥수(promax)를 이용하여 회전시킨 탐색적 인자분석을 실시
### 2개 요인으로 분석
myefa <- factanal(f2structure, 2, rotation="promax") # EFA
myefa
##
## Call:
## factanal(x = f2structure, factors = 2, rotation = "promax")
##
## Uniquenesses:
## X1 X2 X3 X6 X7 X8
## 0.591 0.574 0.348 0.406 0.576 0.395
##
## Loadings:
## Factor1 Factor2
## X1 0.644
## X2 0.613
## X3 0.822
## X6 0.790
## X7 0.662
## X8 0.751
##
## Factor1 Factor2
## SS loadings 1.634 1.470
## Proportion Var 0.272 0.245
## Cumulative Var 0.272 0.517
##
## Factor Correlations:
## Factor1 Factor2
## Factor1 1.000 0.525
## Factor2 0.525 1.000
##
## Test of the hypothesis that 2 factors are sufficient.
## The chi square statistic is 0.52 on 4 degrees of freedom.
## The p-value is 0.971
round(myefa$loadings[,], 2)
## Factor1 Factor2
## X1 -0.01 0.64
## X2 0.07 0.61
## X3 -0.03 0.82
## X6 0.79 -0.04
## X7 0.66 -0.02
## X8 0.75 0.05
### 잠재변수별 신뢰도계수
summary(alpha(f2structure[,1:3])) #alpha
##
## Reliability analysis
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.74 0.74 0.66 0.49 2.8 0.028 4 1
summary(alpha(f2structure[,4:6]))
##
## Reliability analysis
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.77 0.77 0.7 0.53 3.4 0.025 4 1.1
### 모형 설정<p.32>
mycfa <- "F1=~X1+X2+X3
F2=~X6+X7+X8
F1~~F1
F2~~F2
F1~~F2
X1~~X1
X2~~X2
X3~~X3
X6~~X6
X7~~X7
X8~~X8"
### 확인적 요인분석
obj.mycfa <- sem(mycfa, data=f2structure)
### 분석 결과
summary(obj.mycfa, fit.measure=TRUE, standardized=TRUE)
## lavaan (0.5-23.1097) converged normally after 30 iterations
##
## Number of observations 254
##
## Estimator ML
## Minimum Function Test Statistic 2.686
## Degrees of freedom 8
## P-value (Chi-square) 0.953
##
## Model test baseline model:
##
## Minimum Function Test Statistic 428.808
## Degrees of freedom 15
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 1.000
## Tucker-Lewis Index (TLI) 1.024
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2300.311
## Loglikelihood unrestricted model (H1) -2298.968
##
## Number of free parameters 13
## Akaike (AIC) 4626.621
## Bayesian (BIC) 4672.607
## Sample-size adjusted Bayesian (BIC) 4631.394
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.000
## 90 Percent Confidence Interval 0.000 0.000
## P-value RMSEA <= 0.05 0.993
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.016
##
## Parameter Estimates:
##
## Information Expected
## Standard Errors Standard
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## F1 =~
## X1 1.000 0.790 0.643
## X2 1.083 0.137 7.923 0.000 0.855 0.668
## X3 1.241 0.152 8.155 0.000 0.980 0.786
## F2 =~
## X6 1.000 0.964 0.755
## X7 0.869 0.098 8.883 0.000 0.837 0.646
## X8 1.011 0.104 9.716 0.000 0.974 0.793
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## F1 ~~
## F2 0.406 0.079 5.135 0.000 0.533 0.533
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## F1 0.624 0.126 4.943 0.000 1.000 1.000
## F2 0.929 0.152 6.114 0.000 1.000 1.000
## .X1 0.884 0.102 8.696 0.000 0.884 0.586
## .X2 0.907 0.110 8.273 0.000 0.907 0.553
## .X3 0.593 0.107 5.547 0.000 0.593 0.382
## .X6 0.699 0.100 7.020 0.000 0.699 0.429
## .X7 0.980 0.107 9.132 0.000 0.980 0.583
## .X8 0.559 0.093 6.007 0.000 0.559 0.370
### 시각화
semPaths(obj.mycfa, what="std", intercepts=F, edge.label.cex = 1,edge.color = "black", edge.width=0.1)
### CR, AVE 계산을 위한 결과 도출함수 <p.51>
myest <- standardizedsolution(obj.mycfa)
myest
## lhs op rhs est.std se z pvalue
## 1 F1 =~ X1 0.643 0.050 12.959 0
## 2 F1 =~ X2 0.668 0.049 13.751 0
## 3 F1 =~ X3 0.786 0.045 17.469 0
## 4 F2 =~ X6 0.755 0.042 18.167 0
## 5 F2 =~ X7 0.646 0.047 13.846 0
## 6 F2 =~ X8 0.793 0.040 19.703 0
## 7 F1 ~~ F1 1.000 0.000 NA NA
## 8 F2 ~~ F2 1.000 0.000 NA NA
## 9 F1 ~~ F2 0.533 0.065 8.247 0
## 10 X1 ~~ X1 0.586 0.064 9.180 0
## 11 X2 ~~ X2 0.553 0.065 8.522 0
## 12 X3 ~~ X3 0.382 0.071 5.395 0
## 13 X6 ~~ X6 0.429 0.063 6.836 0
## 14 X7 ~~ X7 0.583 0.060 9.673 0
## 15 X8 ~~ X8 0.370 0.064 5.797 0