Computed theoretical power for N=100 and N=200 scenarios
This commit is contained in:
53
Modules/ado/plus/m/misplit.ado
Normal file
53
Modules/ado/plus/m/misplit.ado
Normal file
@ -0,0 +1,53 @@
|
||||
*! version 1.0.1 PR 01oct2004.
|
||||
program define misplit, rclass
|
||||
version 7
|
||||
syntax, CLEAR [ IMPid(string) m(int 5) ]
|
||||
cap assert `m'>1
|
||||
if _rc {
|
||||
di "{err}more than one imputation is required"
|
||||
exit 198
|
||||
}
|
||||
if "`impid'"=="" {
|
||||
local impid _j
|
||||
}
|
||||
cap confirm var `impid'
|
||||
if _rc {
|
||||
di as err "imputation identifier `impid' not found in file `using'"
|
||||
exit 601
|
||||
}
|
||||
tempvar J
|
||||
egen int `J'=group(`impid')
|
||||
sum `J', meanonly
|
||||
local m=r(max)
|
||||
if r(max)<2 {
|
||||
di as error "more than one imputation is required"
|
||||
exit 198
|
||||
}
|
||||
if r(max)<`m' {
|
||||
local m=r(max)
|
||||
di as text "[note: data for only `m' imputations found in file]"
|
||||
}
|
||||
preserve
|
||||
quietly {
|
||||
forvalues j=1/`m' {
|
||||
keep if `J'==`j'
|
||||
drop `J'
|
||||
cap erase "_mitemp`j'.dta"
|
||||
save "_mitemp`j'.dta"
|
||||
restore, preserve
|
||||
*egen int `J'=group(`impid')
|
||||
}
|
||||
global mi_uf `using'
|
||||
global mi_sf _mitemp
|
||||
global mimps `m'
|
||||
|
||||
use _mitemp1.dta, clear
|
||||
}
|
||||
if $mimps==2 {
|
||||
di "{p}{txt}data for $mimps imputations have been copied to _mitemp1.dta and _mitemp$mimps.dta"
|
||||
}
|
||||
else {
|
||||
di _n "{p}{txt}Data for $mimps imputations have been copied to ${mi_sf}1.dta to $mi_sf$mimps.dta"
|
||||
}
|
||||
restore, not
|
||||
end
|
Reference in New Issue
Block a user