capture program drop conc program conc,rclass syntax varlist, comp(varlist) [tconc(real 0.4)] di as result "{hline}" di "{bf:Concurrent validity}" di as result "{hline}" di local n : word count `varlist' local p : word count `comp' matrix m = J(`n',`p',.) matrix rownames m = `varlist' matrix colnames m = `comp' local r = 1 foreach i in `varlist' { local c = 1 foreach j in `comp' { qui corr `i' `j' mat e = r(C) local f = e[2,1] mat m[`r',`c'] = `f' local `++c' } local `++r' } *mat li m, format(%3.2f) noheader tokenize `varlist' local maxv = length("`1'") forvalues i=1/`n' { local lenv = length("``i''") if `lenv' > `maxv' local maxv = `lenv' } local decv = `maxv'+6 tokenize `comp' local maxc = length("`1'") forvalues i=1/`p' { local lenc = length("``i''") if `lenc' > `maxc' local maxc = `lenc' } local decc = `maxc'+4 local col = `decv' foreach c in `comp' { di as result _col(`col') "`c'" _c local col = `col'+`decc' } di local i = 1 foreach x in `varlist' { local var`i' = "`x'" local `++i' } forvalues i=1/`n' { di as result "`var`i''" _c local col = `decv' forvalues j=1/`p' { local t = m[`i',`j'] if `t' > `tconc' | `t' < -`tconc' { di as result _col(`=`col'-1') %5.2f `t' _c } else di as text _col(`=`col'-1') %5.2f `t' _c local col = `col'+`decc' } di } end *conc HA-MOC, comp(ioc1 ioc2) tconc(0.4) *conc x1-x40, comp(x1 x2) tconc(0.4)