2016-04-18 10 views
1

Ich versuche, zwei Variablen gleichzeitig in Stata zu unterstellen: sagen y und x. Und dann möchte ich eine lineare Regression für sie durchführen.Wie zwei Variablen gleichzeitig in Stata imputieren?

Der Code I verwendet werden, sind:

mi set mlong 
mi register imputed y x 

mi impute regress y a b c, add(10) 
mi impute regress x a b c, add(10) 
mi estimate: regress y x 

I laufen in einen Fehler: "Schätzungs Probe variiert zwischen m = 1 und m = 11". Kann mir jemand helfen? Vielen Dank!

+0

Hinweis, dass x und y unterschiedliche Anzahl der fehlenden Werte. – Sheldon

+0

Gee, ein [reproduzierbares Beispiel] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) würde hier wirklich helfen. –

Antwort

0

Ich bevorzuge es mit verketteten Gleichungen zu tun. Der folgende Code sollte funktionieren (beachten Sie, dass Teil 1 übersprungen werden kann, wie ich es nur verwendet, um einen geeigneten Mock-Datensatz zu erzeugen):

* Part 1 

clear all 
set seed 0945 
set obs 50 
gen y0 = _n 
gen y = runiform() 
sort y 
gen x0 = _n 
gen x = runiform() 
sort x 
replace y = . in 1 
replace y = . in 5 
replace y = . in 10 
replace y = . in 15 
replace y = . in 20 
replace y = . in 25 
replace y = . in 30 
replace y = . in 35 
replace y = . in 40 
replace y = . in 45 
replace y = . in 50 
sort y 
replace x = . in 1 
replace x = . in 5 
replace x = . in 10 
replace x = . in 15 
replace x = . in 20 
replace x = . in 25 
replace x = . in 30 
replace x = . in 35 
replace x = . in 40 
replace x = . in 45 
replace x = . in 50 
gen a = _n 
sort x 
gen b = _n 
gen c = _n 

* Part 2 

mi set mlong 
mi register imputed y x 

mi impute chained (regress) y x = a b c, add(10) 
mi estimate, dots: regress y x