Регрессия на подмножестве в R

Я хочу запустить одну и ту же регрессию для разных стран (то есть подмножества моих данных). Я понял, как это сделать в R, но после того, как я проделал то же самое в Stata, мне стало интересно, есть ли лучший способ в 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)))

Но опять же, мне интересно узнать, существует ли интуитивно понятный цикл for, как в Stata?

Ответы на вопрос(1)

Ваш ответ на вопрос