1
我想爲不同的國家(即我的數據的子集)運行相同的迴歸。我沒弄清楚如何R中做,但在Stata更加輕鬆做同樣的事情後,我不知道是否有在R.一個更好的辦法R中某個子集上的迴歸
在Stata你會做這樣的事情:
foreach country in USA UK France {
reg y x1 x2 if country == "`country'"
}
簡單易讀,對吧?在R中,我提出了split和ddply方法,兩者都比較複雜。要使用split
data.subset <- split(data, data$country)[c("USA", "UK", "France")]
res <- lapply(data.subset, function(subset) lm(y ~ x1 + x2, data=subset))
一個更緊湊的代碼將使用ddply
。但在這種情況下,該模型將針對所有國家運行。我可以選擇幾個嗎?
ddply(data, "country", function(df) coefficients(lm(Y~X1+X2, data=df)))
但是,我有興趣知道是否有像Stata這樣的直觀可讀的循環?
哇 - 你的第二段代碼中'lm'的'subset'選項是我正在尋找的。很好的答案! – Heisenberg