*!relicoef version 1.0 *!Written 07Apr2015 *!Written by Mehmet Mehmetoglu capture program drop relicoef program relicoef version 13.1 //set trace on di "" di in green " Raykov's factor reliability coefficient" di as smcl as txt "{c TLC}{hline 41}{c TRC}" di in yellow " {bf:Factor}{dup 14: }{c |}{bf: Coefficient} " di as smcl as txt "{c BLC}{hline 41}{c BRC}" qui estat framework,fitted //return list mat Psi = r(Psi) //mat list Psi mat Phi = r(Phi) //mat list Phi mat Lambda = r(Gamma) //mat list Lambda /*takes the sum of columns in Lambda and create the L matrix*/ mat R = J(rowsof(Lambda),1,1) //mat list R mat L = R'*Lambda //mat list L local oyvarstripes : rowfullnames Lambda //di in yellow "`oyvarstripes'" local lxvarstripes : colfullnames Lambda //di in yellow "`lxvarstripes'" local lxvars "`e(lxvars)'" //di "`lxvars'" local ncols = colsof(Psi) local nrows = rowsof(Psi) local ii=1 local w=1 foreach construct of local lxvars { local totevar=0 local totecov=0 /*sum of factor loadings*/ tempname suml scalar `suml' = L[1, `ii'] //di in green `suml' /*sum of factor variances*/ tempname varl scalar `varl' = Phi[`ii',`ii'] //di in green `varl' local ++ii /*sum of error covariances*/ forvalues j=1/`ncols' { local z =`j'+1 forvalues q =`z'/`nrows' { if Lambda[`j',`w'] !=0 { local totecov = `totecov' + Psi[`q',`j'] } } } local ++w local i = 1 /*sum of error variances*/ foreach oyvar of local oyvarstripes { if Lambda[rownumb(Lambda, "`oyvar'") , colnumb(Lambda,"`construct'")] !=0 { local totevar = `totevar' + Psi[`i', `i'] } local ++i } //di in yellow "total error variance: " `totevar' //di in white "total error covariace: " `totecov' tempname recoef scalar `recoef' = ((`suml'^2)*(`varl'))/(((`suml'^2)*(`varl'))+(`totevar')+(2*`totecov')) if `recoef' >= 0.7 { di in green " " %-12s abbrev("`construct'",12) "{dup 8: }{c |}"%9.3f `recoef' "" } else { di in red " " %-12s abbrev("`construct'",12) "{dup 8: }{c |}"%9.3f `recoef' "" } } di as smcl as txt "{c BLC}{hline 41}{c BRC}" di in green " Note: We seek coefficients >= 0.7" end