Hello,
I am trying to do chi2 tests and store the chi2, p, and the frequencies with the following code in a loop. For some of the variables of the loop, there are no observations for one of the options of 'sample' variable. This is creating problem and the 503 conformability error occurs and the program stops. I want the loop to continue with the next variable even in this case. I tried the below code but it doesn't work. Can somebody help please
code:
use "sampling_data_Jan30.dta", clear
keep if STATE_NAME=="ANDHRA PRADESH"
foreach v of varlist $nominal {
ds `v'
di `"`: var label `v''"'
display "ANDHRA PRADESH"
capture noisily tab sample `v' if share_irrigated_area>10 & STATE_NAME=="ANDHRA PRADESH",chi2 row matcell(rowfr_AP)
if _rc==0 {
matrix AP_nominal_chi2= (r(chi2),r(p) )
matrix rownames AP_nominal_chi2= `v'
matrix colnames AP_nominal_chi2 = chisquare pvalue
mat2txt, matrix(AP_nominal_chi2) sav("AP_nominal_chi2.xlx") append
matrix rownames rowfr_AP= `v' sample/nonsample
matrix colnames rowfr_AP= freq1 freq2
by sample, sort : egen `v'_pc=mean(100*`v')
mat2txt, matrix(rowfr_AP) sav("AP_rowfr.xlx") append
}
else continue
}
I am trying to do chi2 tests and store the chi2, p, and the frequencies with the following code in a loop. For some of the variables of the loop, there are no observations for one of the options of 'sample' variable. This is creating problem and the 503 conformability error occurs and the program stops. I want the loop to continue with the next variable even in this case. I tried the below code but it doesn't work. Can somebody help please
code:
use "sampling_data_Jan30.dta", clear
keep if STATE_NAME=="ANDHRA PRADESH"
foreach v of varlist $nominal {
ds `v'
di `"`: var label `v''"'
display "ANDHRA PRADESH"
capture noisily tab sample `v' if share_irrigated_area>10 & STATE_NAME=="ANDHRA PRADESH",chi2 row matcell(rowfr_AP)
if _rc==0 {
matrix AP_nominal_chi2= (r(chi2),r(p) )
matrix rownames AP_nominal_chi2= `v'
matrix colnames AP_nominal_chi2 = chisquare pvalue
mat2txt, matrix(AP_nominal_chi2) sav("AP_nominal_chi2.xlx") append
matrix rownames rowfr_AP= `v' sample/nonsample
matrix colnames rowfr_AP= freq1 freq2
by sample, sort : egen `v'_pc=mean(100*`v')
mat2txt, matrix(rowfr_AP) sav("AP_rowfr.xlx") append
}
else continue
}
Comment