***Jan Ditzen - November 2013 *** Running File - Runs the simulation /* Changelog: 17.02.2015 - added PEESE added seed to produce identical results */ clear all set seed 345623 cd "C:\Users\Martin Paldam\Documents\AAA" capture mkdir "`c(pwd)'\datasets" , public capture mkdir "`c(pwd)'\output" , public ******************************************************************************************************* ** Settings ******************************************************************************************************* ****Parameters: local ci = 0.05 // set confidence level local r = 1000 // number of funnels local N = 500 // number of regressions in each funnel local obs = 20 // number of observations of the regressions local mint = 2 // minimum acceptable t value (needed to determine point a) ****Variables: local x_mean = 0 // mean of x local e_mean = 0 // mean of error term local x_sd = 2 // standard deviation of x local e_sd = 10 // standard deviation of error term local beta = 1 // set true parameter for b1 ******************************************************************************************************* ******************************************************************************************************* **Include programs qui include programs_meta.do **Define results set *local results "" set obs 1 foreach sr in SR0 SR1 SR2 SR3 SR4{ local fat_pet "`sr'_fat_pet_bf = r(`sr'_fat_pet_bf) `sr'_fat_pet_cbf = r(`sr'_fat_pet_cbf) `sr'_fat_pet_bm = r(`sr'_fat_pet_bm) `sr'_fat_pet_cbm = r(`sr'_fat_pet_cbm)" local peese "`sr'_peese_bf = r(`sr'_peese_bf) `sr'_peese_cbf = r(`sr'_peese_cbf) `sr'_peese_bp = r(`sr'_peese_bp) `sr'_peese_cbp = r(`sr'_peese_cbp)" local `sr' "`sr'_bbar = r(`sr'_bbar) `sr'_b_sd = r(`sr'_b_sd) `sr'_t_mean = r(`sr'_t_mean) `fat_pet' `peese' " gen `sr' = "`sr'" save "`c(pwd)'\datasets\\`sr'.dta", replace drop `sr' } **Loop over different values of J paper uses 1 2 5 10 15 23 34 50 foreach j in 1 2 5 { display "Run with J = `j'" simulate `SR0' `SR1' `SR2' `SR3' `SR4' , reps(`r') : build_funnel `beta' , x_mean(`x_mean') x_sd(`x_sd') e_mean(`e_mean') e_sd(`e_sd') /* */ n(`N') j(`j') ci(`ci') obs(`obs') mint(`mint') foreach sr in SR0 SR1 SR2 SR3 SR4 { preserve display "Add `sr'" collapse (mean) `sr'* gen J = `j' append using "`c(pwd)'\datasets\\`sr'.dta" sort J save "`c(pwd)'\datasets\\`sr'.dta" , replace restore } } **Output Tables foreach sr in SR0 SR1 SR2 SR3 SR4 { use "`c(pwd)'\datasets\\`sr'.dta" , clear capture drop `sr' *Generate Row Number and drop last row gen Row = _n drop if _n == _N *Place them in order order Row J `sr'_bbar `sr'_t_mean `sr'_b_sd, first *Get Variable list list qui des, varlist mkmat `r(varlist)' , matrix(results) #delimit ; estout matrix(results, fmt(4) ) using "\`c(pwd)'\\output\results_`sr'.xls" , collabels( "Row" "J" "b_bar" "t_bar_bar" "sd of b_bar" "beta F (FAT PET)" "Not 0" "beta M (FAT PET)" "Not 1" "beta F (PEESE)" "Not 0" "beta P (PEESE)" "Not 1" ) noabbrev replace ; #delimit cr }