我试图限制回归,只使用变量 everevac==1 的数据点。我想出了一种方法来做到这一点,但我想知道是否有更好的方法。
在 STATA 中,我会运行这样的东西:
reg outcome y2006 age black male etc if everevac==1, cluster(persid)
我为R想出了这个:
fit <- ols(formula = outcome[everevac==1] ~ y2006[everevac==1] +
age[everevac==1] + black[everevac==1] +
male[everevac==1] + hsgrad[everevac==1] +
hsgrad[everevac==1] + someco[everevac==1] +
ba[everevac==1] + postgrad[everevac==1], x=TRUE, y=TRUE, data = ps2_new)
robcov(fit, cluster = ps2_new$persid[ps2_new$everevac==1])
请注意,我只是限制了所有变量,使其成为 var[everevac==1] ..这甚至在做我认为它正在做的事情吗?有更好的方法吗?我尝试使用这样的“if”语句:
if(everevac==1){ <lm function above, taking out the [everevac==1] on each variable> }
但它没有用。