Una tabla que compare las medias entre el grupo de control y los tres grupos del tratamiento. • Por cada grupo incluir el promedio de las variables: a˜nos de educaci´on del jefe del hogar, edad del jefe del hogar. • Indicar si las medias en los grupos de tratamiento son estad´ısticamente diferentes respecto al grupo de control. • Una tabla que muestre los efectos causales de haber estado asignado a cada grupo de tratamiento sobre variables de inter´es: • Las variables son: 1) no hacer nada si se presenta una enfermedad (episode), 2) tomar medicina antimal´arica si se presenta la enfermedad, y 3) tomar un test de diagn´ostico para la malaria.
clear all
set more off // No cortar lso datos
global folder= "direction"
cd "$folder" /* Indicamos que lo que se haga se use y se guarde se va a ubicar en esta carpeta */
use MalariaData_reduced.dta, clear
* Ejemplo de obtener la media para una variable y un grupo
summarize B_head_edu if control==1 // resumen si el grup de control ==1
return list // Vemos la lista de r()
scalar prom_edad_control=`r(mean)'
display prom_edad_control
scalar list // Muestra la lista de escalares
* Loop para obtener las medias de más de una variable a través de todos los grupos, y guardar las medias en una matriz
foreach var in B_head_edu B_head_age_imputed { /* primer loop: variables */
if ("`var'"=="B_head_edu") local vars `"1"' /* crear un local numerico para los textos en el loop, así podemos guardar los locales en la matriz C*/
if ("`var'"=="B_head_age_imputed") local vars `"2"'
foreach group in control act40 act60 act100 { /* segundo loop: grupos */
if ("`group'"=="control") local groups `"1"' /* crear un local numerico para los textos en el loop, así podemos guardar los locales en la matriz C */
if ("`group'"=="act40") local groups `"2"'
if ("`group'"=="act60") local groups `"3"'
if ("`group'"=="act100") local groups `"4"'
summarize `var' if `group'==1 /* obetner la media */
local mean=`r(mean)' /* guardarla como un local */
matrix C= nullmat(C) \ (`vars', `groups', `mean') /* en esta matriz se guardan todos los locales */
}
}
mat list C /* Muestra la matriz*/
* ahora vamos a guardar la matriz C como un archivo csv.
preserve /* Este comando deja la base en pausa, para que cuando se restaure no se pierda la informacion*/
matrix colnames C = variable group mean /* crear los nombres de las columnas de la matriz C */
drop _all /* quitar toda la informacion en la base de datos */
svmat double C, n(col) /* la matriz C se convierte a una base de datos */
tostring variable group, replace // Volvemos las col de double a string
// Cambiamos las cadenas//
replace variable="educacion" if variable=="1"
replace variable="edad" if variable=="2"
replace group="control" if group=="1"
replace group="tratamiento40" if group=="2"
replace group="tratamiento60" if group=="3"
replace group="tratamiento100" if group=="4"
export delimited means.csv, replace /*guardar la matriz que fue convetida a base de datos */
restore /*restaurar la base datos que teníamos antes */
mat drop C /* eliminar la matriz que tenia las medias */
* De manera estricta, para saber si las medias son significativamente distintas entre los grupos de tratamiento y el grupo control usamos el comando ttest para comparar las medias. Podemos faciltiar el trabajo corriendo regresiones donde la variable dependiente es la variable sobre la que comparamos las medias. Si el coeficiente no es significativo, las medias con alta probabilidad deberían ser estadísticamente iguales.
gen groups=. /* generamos variable categorica que contiene un numero por cada grupo */
replace groups=1 if act40==1
replace groups=2 if act60==1
replace groups=3 if act100==1
replace groups=0 if control==1
// Imprimimos las 2 regresiones juntas en excel y word//
reg B_head_edu i.groups
outreg2 using regresiones_controles.doc, excel replace ctitle(educacion) stats (coef se ci) dec(3)
/*outreg2 using regresiones_controles.doc, excel replace ctitle(educacion) stats (coef se ci) dec(3) //Solo imprimirla en excel */
reg B_head_age_imputed i.groups
outreg2 using regresiones_controles.doc, excel append ctitle(edad) stats (coef se ci) dec(3)
/*outreg2 using regresiones_controles, excel append ctitle(edad) stats (coef se ci) dec(3) //como imprimirla solo en excel */
* hacer las regresiones sobre las variables de interés. (Solo imprimir excel)
reg m_took_act i.groups
outreg2 using regresiones_dependientes, excel replace ctitle(tomarmedicina) stats (coef se ci) dec(3)
foreach var in m_care_nothing m_took_maltest {
if ("`var'"=="m_care_nothing") local vars `"hacernada"'
if ("`var'"=="m_took_maltest") local vars `"tomartest"'
reg `var' i.groups
outreg2 using regresiones_dependientes, excel append ctitle(`vars') stats (coef se ci) dec(3)
}
clear all
set more off // No cortar lso datos
global folder= "direction"
cd "$folder" /* Indicamos que lo que se haga se use y se guarde se va a ubicar en esta carpeta */
use MalariaData_reduced.dta, clear
* Ejemplo de obtener la media para una variable y un grupo
summarize B_head_edu if control==1 // resumen si el grup de control ==1
return list // Vemos la lista de r()
scalar prom_edad_control=`r(mean)'
display prom_edad_control
scalar list // Muestra la lista de escalares
* Loop para obtener las medias de más de una variable a través de todos los grupos, y guardar las medias en una matriz
foreach var in B_head_edu B_head_age_imputed { /* primer loop: variables */
if ("`var'"=="B_head_edu") local vars `"1"' /* crear un local numerico para los textos en el loop, así podemos guardar los locales en la matriz C*/
if ("`var'"=="B_head_age_imputed") local vars `"2"'
foreach group in control act40 act60 act100 { /* segundo loop: grupos */
if ("`group'"=="control") local groups `"1"' /* crear un local numerico para los textos en el loop, así podemos guardar los locales en la matriz C */
if ("`group'"=="act40") local groups `"2"'
if ("`group'"=="act60") local groups `"3"'
if ("`group'"=="act100") local groups `"4"'
summarize `var' if `group'==1 /* obetner la media */
local mean=`r(mean)' /* guardarla como un local */
matrix C= nullmat(C) \ (`vars', `groups', `mean') /* en esta matriz se guardan todos los locales */
}
}
mat list C /* Muestra la matriz*/
* ahora vamos a guardar la matriz C como un archivo csv.
preserve /* Este comando deja la base en pausa, para que cuando se restaure no se pierda la informacion*/
matrix colnames C = variable group mean /* crear los nombres de las columnas de la matriz C */
drop _all /* quitar toda la informacion en la base de datos */
svmat double C, n(col) /* la matriz C se convierte a una base de datos */
tostring variable group, replace // Volvemos las col de double a string
// Cambiamos las cadenas//
replace variable="educacion" if variable=="1"
replace variable="edad" if variable=="2"
replace group="control" if group=="1"
replace group="tratamiento40" if group=="2"
replace group="tratamiento60" if group=="3"
replace group="tratamiento100" if group=="4"
export delimited means.csv, replace /*guardar la matriz que fue convetida a base de datos */
restore /*restaurar la base datos que teníamos antes */
mat drop C /* eliminar la matriz que tenia las medias */
* De manera estricta, para saber si las medias son significativamente distintas entre los grupos de tratamiento y el grupo control usamos el comando ttest para comparar las medias. Podemos faciltiar el trabajo corriendo regresiones donde la variable dependiente es la variable sobre la que comparamos las medias. Si el coeficiente no es significativo, las medias con alta probabilidad deberían ser estadísticamente iguales.
gen groups=. /* generamos variable categorica que contiene un numero por cada grupo */
replace groups=1 if act40==1
replace groups=2 if act60==1
replace groups=3 if act100==1
replace groups=0 if control==1
// Imprimimos las 2 regresiones juntas en excel y word//
reg B_head_edu i.groups
outreg2 using regresiones_controles.doc, excel replace ctitle(educacion) stats (coef se ci) dec(3)
/*outreg2 using regresiones_controles.doc, excel replace ctitle(educacion) stats (coef se ci) dec(3) //Solo imprimirla en excel */
reg B_head_age_imputed i.groups
outreg2 using regresiones_controles.doc, excel append ctitle(edad) stats (coef se ci) dec(3)
/*outreg2 using regresiones_controles, excel append ctitle(edad) stats (coef se ci) dec(3) //como imprimirla solo en excel */
* hacer las regresiones sobre las variables de interés. (Solo imprimir excel)
reg m_took_act i.groups
outreg2 using regresiones_dependientes, excel replace ctitle(tomarmedicina) stats (coef se ci) dec(3)
foreach var in m_care_nothing m_took_maltest {
if ("`var'"=="m_care_nothing") local vars `"hacernada"'
if ("`var'"=="m_took_maltest") local vars `"tomartest"'
reg `var' i.groups
outreg2 using regresiones_dependientes, excel append ctitle(`vars') stats (coef se ci) dec(3)
}
Comment