**YVV** capture program drop yvv program define yvv, rclass version 9.0 syntax [anything] [fweight pweight iweight] [if] [, CONVal(real .800) cluster(varname) SIGonly SLEVel(real .05) GREATer(namelist) USEREDuction LAST] local nument: word count `anything' local namelist `anything' if `nument'>2{ capture unab namelist: `anything' } marksample touse unab vlist: _all local test "yvv" if "`greater'" ~= "" { if "`greater'" ~= "col1" & "`greater'"~= "col2" { di as err `"Error: "`greater'" Not a Valid Option of Greater"' di as err "Greater Option Not Applied" local greater } } if "`last'"=="last" & "`r(colsig)'"=="" & "`r(comm)'"=="" { di as err `"Error: No "Last" Configuration Set Present"' di as err "Using Full Configuration Set" local last } if "`usereduction'"=="usereduction" & "`r(reducsols)'"=="" { di as err "Error: No Reduction Previously Performed" di as err "Can Not Use Reduced Solutions" capture keep `vlist' exit 119 } if "`namelist'" ~= "" { local v `namelist' local y: word 1 of `v' local sets: list v - y local nonvar: list v - vlist foreach con of local nonvar { cnfgen `con' } unab sets: `sets' } foreach var of local sets { qui su `var' if `r(max)' > 1 | `r(min)'<0 { di as err "Error: `var' Not Fuzzified" capture keep `vlist' exit 119 } } if "`namelist'" == "" { local start = r(start) local set "`r(sets)'" if "`usereduction'"=="usereduction" { local start `r(reducsols)' local set `r(reducsols)' } local commsets `r(comm)' if "`last'" == "last"{ if "`commsets'"=="" { local set `r(colsig)' } else { local set `r(comm)' } } local y = r(y) capture myboolean `start' if _rc>0{ local nonvar `set' foreach con of local nonvar { cnfgen `con' } } unab sets: `set' mark nomis capture markout nomis `start' qui foreach var of local sets { capture replace `var'=. if nomis==0 } qui drop nomis } qui foreach var of local sets { tempvar bstf`var' capture gen `bstf`var'' = 0 capture replace `bstf`var'' = 1 if `var'>.5 & `var'~=. & `touse' su `var' if `r(sum)' == 0 { local toex `toex' `var' } } local numexl: word count `toex' if `numexl'>0 { di di in green "Note: `toex' Have No Information and Excluded from Test" local sets: list sets - toex } di di in white "{ul:Y-Consistency vs. Set Value}" di as text %1s "Set", %13s "YConsist", %10s "Set Value", %4s "F", %9s "P", %18s "NumBestFit" qui foreach var of local sets { tempvar num`var' gen `num`var'' = min(`y',`var') } foreach var of local sets { qui capture recode `bstf`var'' (0=.) qui tab `bstf`var'' local bf = r(N) qui ratio (Y:`num`var''/`var') if `touse' [`weight'`exp'] , cluster(`cluster') qui test _b[Y] = `conval' if "`sigonly'" == "sigonly" { local p = r(p) if `p' < `slevel' { if "`greater'"== "col1" { if _b[Y]> `conval' { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } if "`greater'" == "col2" { if _b[Y] < `conval' { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } if "`greater'" == "" { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } } else { if "`greater'"== "col1" { if _b[Y]> `conval' { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } if "`greater'" == "col2" { if _b[Y] < `conval' { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } if "`greater'" == "" { di as res %-6s "`var'", %9.3f _b[Y], %9.3f `conval', %9.2f r(F), %9.3f r(p), %9.0f `bf' local `test'colsig "``test'colsig' `var'" } } } return local colsig ``test'colsig' return local start `start' return local sets `sets' return local y `y' capture keep `vlist' end