我試圖限制一個迴歸,只使用數據點的地方變量everevac == 1 ..我想出了一種方法來做到這一點,但我想知道是否有更好的方法。限制一個迴歸和聚類在R
在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> }
但它沒有工作。
順便說一句,你有你的公式 – nico
在hsgrad兩次我剛得到這個錯誤:「錯誤model.frame.default(公式=結果〜y2006 +年齡+黑色+: 可變長度不同(發現「y2006 ')「... ...單獨限制,我沒有得到這個錯誤,同樣,感謝hsgrad –
的正面評價,所有這些(y2006,age,black等)都是ps2_new數據框中的列? – nico