I have two samples from different sources. The primary sample is a panel, but does not contain the independent variable that I am interested in. To solve this I am using an auxiliary sample that does contain the independent variable of interest that I then regress on two variables common to both samples. I then use those marginal effects to impute values for the missing variable in my primary sample. The problem is that this introduces generated regressor bias. To get around this my plan is to bootstrap the standard errors of my estimates, but for the life of me I cannot get this to work. Example code:
When I run this I get the error message:
I have tried simplifying the program:
I get a different error:
However if replace xtreg with reg it works fine:
Apologies for long post but I am very confused. Any help would be greatly appreciated.
Code:
clear all
sysuse auto
/**************** generate datasets *************/
gen id = [_n]
save temp.dta, replace
// panel that does not contain weight variable
use temp.dta, replace
keep if id <= 10
keep id price mpg headroom
gen t = 1
save sample1_temp.dta, replace
use temp.dta, replace
keep if id <= 10
keep id price mpg headroom
gen t = 2
replace price = price + runiform(-100,100)
replace mpg = mpg + runiform(-5,5)
replace headroom = headroom + runiform(-1,1)
append using sample1_temp.dta
sort id t
save sample1.dta, replace
// sample that does contain weight variable
use temp.dta, replace
keep if id > 10
keep weight mpg headroom
save sample2.dta, replace
/******************** bootstrap ******************/
use sample2.dta, replace
capture program drop example
program define example
quietly regres weight mpg headroom
use sample1.dta, replace
capture drop weight_hat
predict weight_hat
xtset id t
xtreg price weight_hat
exit
end
bootstrap, reps(50): example
variable __000000 not found
Code:
use sample1.dta, replace
capture program drop example2
program define example2
xtset id t
xtreg price mpg
exit
end
bootstrap, reps(50): example2
insufficient observations to compute bootstrap standard errors
no results will be saved
no results will be saved
Code:
use sample1.dta, replace
capture program drop example3
program define example3
reg price mpg
exit
end
bootstrap, reps(50): example3

Comment