R中的回归与分组变量

时间:2015-07-23 11:09:09

标签: r regression dplyr

数据框Value的因变量DF是使用自变量MeanXY按以下方式预测的:

DF <- DF %>% 
    group_by(Country, Sex) %>%
    do({ 
        mod = lm(Value ~ Mean + X + Y, data = .) 
        A <- predict(mod, .)
        data.frame(., A)
    })

数据按CountrySex分组。因此,拟合公式可表示为:

Value(Country, Sex) = a0(Country, Sex) + a1(Country, Sex) Mean + a2(Country, Sex) X + a3(Country, Sex) Y

但是,我想使用这个公式:

Value(Country, Sex) = a0(Country, Sex) + a1(Country, Sex) Mean + a2(Country) X + a3(Country) Y

a2a3独立于Sex的位置。我该怎么办?

1 个答案:

答案 0 :(得分:2)

CountrySex分组时,我认为你无法做到。您可以按Country进行分组,并添加与Sex的互动:

DF <- DF %>% 
group_by(Country) %>%
do({ 
    mod = lm(Value ~ Sex + Mean*Sex + X + Y, data = .) 
    A <- predict(mod, .)
    data.frame(., A)
})

或估算您的模型一次性添加与SexCountry的交互:

mod <- lm(Value ~ Sex*Country*Mean + Country*X + Country*Y
A <- predict(mod)