I am currently trying to run balance tests in a dataset with respondents from 8 countries. The country variables are binary depending on whether the respondent is treated or not. I use the command below in a loop to run the balance tests one by one, and it works as it should. However, I was curious if it is possible to make a loop for the 8 countries at once and not for country_1, country_2 etc., separately. Do you know if that is possible?
Thank you in advance!
Code:
loc covar co1 co2 co3 co4
loc x country_1
capture mat drop A
loc i = 1
foreach var of varlist `covar' {
ttest `var', by(`x') unequal
if `i' == 1 mat A = `r(mu_1)', `r(mu_2)', `r(mu_2)'-`r(mu_1)',`r(p)'
else mat A = A \ `r(mu_1)', `r(mu_2)', `r(mu_2)'-`r(mu_1)', `r(p)'
loc i = `i' + 1
loc name `name' `var'
}
mat rownames A = `name'
levelsof `x', local(VL)
loc fff
foreach num of loc VL {
loc ddd : label (`x') `num'
loc fff `fff' "`ddd'"
}
mat colnames A = `fff' "Difference" "p-value"
mat list A
estout matrix(A,fmt(3)) , mlabels(none)
0 Response to Balance tests in a loop?
Post a Comment