【CALISプログラム】 title 'Model-1: Spearman(1904) の1因子モデル ' ; data sp ( type = corr ) ; infile cards ; input _type_$ _name_$ v1 - v6 ; label v1 = ' 古典 ' v2 = ' 仏語 ' v3 = ' 英語 ' v4 = ' 数学 ' v5 = ' 音程 ' v6 = ' 音楽 '; cards ; N MEAN STD CORR v CORR v CORR v CORR v CORR v CORR v ; run ; proc calis data = sp cov ; var v1 - v6 ; lineqs v1 = L1 F1 + e1, v2 = L2 F1 + e2, v3 = L3 F1 + e3, v4 = L4 F1 + e4, v5 = L5 F1 + e5, v6 = L6 F1 + e6 ; std F1 = 1.0, e1 - e6 = vare1 - vare6 ; run ; 【EQSプログラム】 /title Model-1: Spearman(1904) の1因子モデル /spec var = 6 ; case = 33 ; /label v1 = CLASSICS ; v2 = FRENCH ; v3 = ENGLISH ; v4 = MATHEM. ; v5 = DISCRIM. ; v6 = MUSIC ; /equ v1 = * F1 + e1 ; v2 = * F1 + e2 ; v3 = * F1 + e3 ; v4 = * F1 + e4 ; v5 = * F1 + e5 ; v6 = * F1 + e6 ; /var F1 = 1.0 ; e1 to e6 = * ; /print fit = all ; /matrix /end
【CALISプログラム】 title 'Model-2: 検証的因子分析. Lawley-Maxwell (1963)' ; data LandM ( type = corr ) ; infile cards ; input _type_$ _name_$ v1 - v6 ; label v1 = ' ゲール語 ' v2 = ' 英語 ' v3 = ' 歴史 ' v4 = ' 計算 ' v5 = ' 代数 ' v6 = ' 幾何 '; cards ; N MEAN STD CORR v CORR v CORR v CORR v CORR v CORR v ; RUN ; proc calis data = LandM cov ; var v1 - v6 ; lineqs v1 = L1 F1 + e1, v2 = L2 F1 + e2, v3 = L3 F1 + e3, v4 = L4 F2 + e4, v5 = L5 F2 + e5, v6 = L6 F2 + e6 ; std F1 - F2 = 2 * 1.0, e1 - e6 = vare1 - vare6 ; cov F1 F2 = cF1F2 ; run ; 【EQSプログラム】 /title Model-2: 検証的因子分析. Lawley-Maxwell(1963) /spec var = 6 ; case = 220 ; /label v1 = GAELIC ; v2 = ENGLISH ; v3 = HISTORY ; v4 = ARITHMET ; v5 = ALGEBRA ; v6 = GEOMETRY ; /equ v1 = *F1 + e1 ; v2 = *F1 + e2 ; v3 = *F1 + e3 ; v4 = *F2 + e4 ; v5 = *F2 + e5 ; v6 = *F2 + e6 ; /var F1 to F2 = 1.0 ; e1 to e6 = * ; /cov F1, F2 = * ; /print fit = all ; /matrix /end
【CALISプログラム】 title 'Model-3: 2次因子分析. Lawley-Maxwell(1963)' ; data LandM ( type = corr ) ; infile cards ; input _type_$ _name_$ v1 - v6 ; label v1 = ' ゲール語 ' v2 = ' 英語 ' v3 = ' 歴史 ' v4 = ' 計算 ' v5 = ' 代数 ' v6 = ' 幾何 '; cards ; N MEAN STD CORR v CORR v CORR v CORR v CORR v CORR v ; RUN ; proc calis data = LandM cov ; var v1 - v6 ; lineqs v1 = F1 + e1, v2 = L2 F1 + e2, v3 = L3 F1 + e3, v4 = F2 + e4, v5 = L5 F2 + e5, v6 = L6 F2 + e6, F1 = P F3 + d1, F2 = P F3 + d2 ; std F3 = 1.0, e1 - e6 = vare1 - vare6, d1 - d2 = vard1 - vard2 ; run ; 【EQSプログラム】 /title Model-3: 2次因子分析. Lawley-Maxwell(1963) /spec var = 6 ; case = 220 ; /label v1 = GAELIC ; v2 = ENGLISH ; v3 = HISTORY ; v4 = ARITHMET ; v5 = ALGEBRA ; v6 = GEOMETRY ; /equ v1 = F1 + e1 ; v2 = *F1 + e2 ; v3 = *F1 + e3 ; v4 = F2 + e4 ; v5 = *F2 + e5 ; v6 = *F2 + e6 ; F1 = *F3 + d1 ; F2 = *F3 + d2 ; /var F3 = 1.0 ; e1 to e6 = * ; d1 to d2 = * ; /print fit = all ; /constrains (F1, F3) = (F2, F3) ; /matrix /end
【CALISプログラム】 title 'Model-4: ヘッドスタート計画.服部他 (1996)' ; data head( type = COV ) ; input _type_$ _name_$ v1 - v4 ; label v1 = ' 父学歴 ' v2 = ' 母学歴 ' v3 = 'MRT' v4 = 'ITPA' ; cards ; COV V COV V COV V COV V ; run ; proc calis data = head cov nobs = 303 ; var v1 - v4 ; lineqs v1 = L1 F1 + e1, v2 = L2 F1 + e2, V3 = F2 + e3, V4 = L4 F2 + e4, F2 = P F1 + d2 ; std F1 = 1.0, e1 - e4 = vare1 - vare4, d2 = vard2 ; run ; 【EQSプログラム】 /title Model-4: ヘッドスタート計画.服部他 (1996) /spec var = 4 ; case = 303 ; /label v1 = FATHER ; v2 = MOTHER ; v3 = MRT ; v4 = ITPA ; /equ v1 = *F1 + e1 ; v2 = *F1 + e2 ; v3 = F2 + e3 ; v4 = *F2 + e4 ; f2 = *F1 + d2 ; /var F1 = 1.0 ; e1 to e4 = * ; d2 = * ; /print fit = all ; /matrix /end
【CALISプログラム】 title 'Model-5: 潜在変数3個の因果連鎖 ' ; data rWheaton ( type = corr ) ; input _type_$ _name_$ v1 - v6 ; label v1 = ' 失語傾向 67' v2 = ' 無気力感 67' v3 = ' 失語傾向 71' v4 = ' 無気力感 71' v5 = ' 教育年数 ' v6 = ' 社会経済指標 '; datalines ; N STD MEAN CORR v CORR v CORR v CORR v CORR v CORR v ; run ; proc calis data = rWheaton cov ; lineqs v1 = F1 + e1, v2 = Lv2F1 F1 + e2, v3 = F2 + e3, v4 = Lv4F2 F2 + e4, v5 = Lv5F3 F3 + e5, v6 = Lv6F3 F3 + e6, F1 = PF2F3 F3 + d1, F2 = PF2F1 F1 + d2 ; std e1 - e6 = vare1 - vare6, d1 - d2 = vard1 - vard2, F3 = 1.0 ; run ; 【EQSプログラム】 /title Model-5: 潜在変数3個の因果連鎖 /spec var = 6 ; case = 932 ; matrix = corr ; /label v1 = ANOMIA67 ; v2 = POWRLS67 ; v3 = ANOMIA71 ; v4 = POWRLS71 ; v5 = EDUCATON ; v6 = OCCUPATN ; /equ v1 = F1 + e1 ; v2 = * F1 + e2 ; v3 = F2 + e3 ; v4 = * F2 + e4 ; v5 = * F3 + e5 ; v6 = * F3 + e6 ; F1 = * F3 + d1 ; F2 = * F1 + d2 ; /var F3 = 1.0 ; e1 to e6 = * ; d1 to d2 = * ; /print fit = all ; /matrix /sta /end
【CALISプログラム】 title 'Model-6: 潜在変数間の重回帰モデル ' ; data sWheaton ( type = cov ) ; input _type_$ _name_$ v1 - v6 ; label v1 = ' 失語傾向 67' v2 = ' 無気力感 67' v3 = ' 失語傾向 71' v4 = ' 無気力感 71' v5 = ' 教育年数 ' v6 = ' 社会経済指標 '; datalines ; COV v COV v COV v COV v COV v COV v ; run ; proc calis data = sWheaton cov nobs = 932 ; lineqs v1 = Lv1F1 F1 + e1, v2 = Lv2F1 F1 + e2, v3 = F2 + e3, v4 = Lv4F2 F2 + e4, v5 = Lv5F3 F3 + e5, v6 = Lv6F3 F3 + e6, F2 = PF2F3 F3 + PF2F1 F1 + d2 ; std e1 - e6 = vare1 - vare6, d2 = vard2, F1 = 1.0, F3 = 1.0 ; cov F1 F3 = CF1F3 ; run ; 【EQSプログラム】 /title Model-6: 潜在変数間の重回帰モデル /spec var = 6 ; case = 932 ; /label v1 = ANOMIA67 ; v2 = POWRLS67 ; v3 = ANOMIA71 ; v4 = POWRLS71 ; v5 = EDUCATON ; v6 = OCCUPATN ; /equ v1 = * F1 + e1 ; v2 = * F1 + e2 ; v3 = F2 + e3 ; v4 = * F2 + e4 ; v5 = * F3 + e5 ; v6 = * F3 + e6 ; F2 = * F1 + * F3 + d2 ; /var F1 = 1.0 ; F3 = 1.0 ; d2 = * ; e1 to e6 = * ; /cov F1, F3 = * ; /print fit = all ; /matrix /end
【CALISプログラム】 title 'Model-7: 疎外感の安定. Wheaton et al. (1977)' ; data rWheaton ( type = corr ) ; input _type_$ _name_$ v1 - v6 ; label v1 = ' 失語傾向 67' v2 = ' 無気力感 67' v3 = ' 失語傾向 71' v4 = ' 無気力感 71' v5 = ' 教育年数 ' v6 = ' 社会経済指標 '; datalines ; N STD MEAN CORR v CORR v CORR v CORR v CORR v CORR v ; run ; proc calis data = rWheaton cov all nomod ; lineqs v1 = F1 + e1, v2 = Lv2F1 F1 + e2, v3 = F2 + e3, v4 = Lv4F2 F2 + e4, v5 = Lv5F3 F3 + e5, v6 = Lv6F3 F3 + e6, F1 = PF1F3 F3 + d1, F2 = PF2F3 F3 + PF2F1 F1 + d2 ; std e1 - e6 = varA varB varA varB var5 var6, d1 - d2 = vard1 - vard2, F3 = 1.0 ; cov e3 e1 = Ce3e1, e4 e2 = Ce4e2 ; run ; 【EQSプログラム】 /title Model-7: 疎外感の安定. Wheaton et al. (1977) /spec var = 6 ; case = 932 ; matrix = corr ; /label v1 = ANOMIA67 ; v2 = POWRLS67 ; v3 = ANOMIA71 ; v4 = POWRLS71 ; v5 = EDUCATON ; v6 = OCCUPATN ; /equ v1 = F1 + e1 ; v2 = * F1 + e2 ; v3 = F2 + e3 ; v4 = * F2 + e4 ; v5 = * F3 + e5 ; v6 = * F3 + e6 ; F1 = * F3 + d1 ; F2 = * F1 + * F3 + d2 ; /var F3 = 1.0 ; d1 to d2 = * ; e1 to e6 = * ; /cov e3, e1 = * ; e4, e2 = * ; /con ( e1, e1 ) = ( e3, e3 ) ; ( e2, e2 ) = ( e4, e4 ) ; /print fit = all ; /matrix /sta /end