有没有办法在 R 的回归输出中显示参考类别?
Is there a way to display the reference category in a regression output in R?
我正在估计一个包含一些 factor/categorial 变量和一些数值变量的回归模型。是否可以在回归模型的摘要中显示每个 factor/categorial 变量的参考类别?
理想情况下,这也将转换为 texreg 或 stargazer 以具有乳胶输出,但将它们放在回归摘要中已经是一个好的开始。
有没有人有想法,我错过了什么?
参考水平是汇总中缺失的那个,因为其他水平的系数是与参考水平的对比,即截距实际上代表参考类别中的均值。
iris <- transform(iris, Species_=factor(Species)) ## create factor
summary(lm(Sepal.Length ~ Petal.Length + Species_, iris))$coe
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 3.6835266 0.10609608 34.718780 1.968671e-72
# Petal.Length 0.9045646 0.06478559 13.962436 1.121002e-28
# Species_versicolor -1.6009717 0.19346616 -8.275203 7.371529e-14
# Species_virginica -2.1176692 0.27346121 -7.743947 1.480296e-12
您可以删除拦截,以显示缺少的级别,但这没有多大意义。然后,您只需在没有参考的情况下获得每个级别的均值,但是您对参考级别与其他级别之间的对比感兴趣。
summary(lm(Sepal.Length ~ 0 + Petal.Length + Species_, iris))$coe
# Estimate Std. Error t value Pr(>|t|)
# Petal.Length 0.9045646 0.06478559 13.962436 1.121002e-28
# Species_setosa 3.6835266 0.10609608 34.718780 1.968671e-72
# Species_versicolor 2.0825548 0.28009598 7.435147 8.171219e-12
# Species_virginica 1.5658574 0.36285224 4.315413 2.921850e-05
如果您不确定,参考水平始终是因子的第一水平。
levels(iris$Species_)[1]
# [1] "setosa"
为了证明这一点,指定一个不同的参考水平,看看它是否是第一个。
iris$Species_ <- relevel(iris$Species_, ref='versicolor')
levels(iris$Species_)[1]
# [1] "versicolor"
在报告中table下方的注释中引用参考水平是很常见的,我建议您也这样做。
我正在估计一个包含一些 factor/categorial 变量和一些数值变量的回归模型。是否可以在回归模型的摘要中显示每个 factor/categorial 变量的参考类别?
理想情况下,这也将转换为 texreg 或 stargazer 以具有乳胶输出,但将它们放在回归摘要中已经是一个好的开始。
有没有人有想法,我错过了什么?
参考水平是汇总中缺失的那个,因为其他水平的系数是与参考水平的对比,即截距实际上代表参考类别中的均值。
iris <- transform(iris, Species_=factor(Species)) ## create factor
summary(lm(Sepal.Length ~ Petal.Length + Species_, iris))$coe
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 3.6835266 0.10609608 34.718780 1.968671e-72
# Petal.Length 0.9045646 0.06478559 13.962436 1.121002e-28
# Species_versicolor -1.6009717 0.19346616 -8.275203 7.371529e-14
# Species_virginica -2.1176692 0.27346121 -7.743947 1.480296e-12
您可以删除拦截,以显示缺少的级别,但这没有多大意义。然后,您只需在没有参考的情况下获得每个级别的均值,但是您对参考级别与其他级别之间的对比感兴趣。
summary(lm(Sepal.Length ~ 0 + Petal.Length + Species_, iris))$coe
# Estimate Std. Error t value Pr(>|t|)
# Petal.Length 0.9045646 0.06478559 13.962436 1.121002e-28
# Species_setosa 3.6835266 0.10609608 34.718780 1.968671e-72
# Species_versicolor 2.0825548 0.28009598 7.435147 8.171219e-12
# Species_virginica 1.5658574 0.36285224 4.315413 2.921850e-05
如果您不确定,参考水平始终是因子的第一水平。
levels(iris$Species_)[1]
# [1] "setosa"
为了证明这一点,指定一个不同的参考水平,看看它是否是第一个。
iris$Species_ <- relevel(iris$Species_, ref='versicolor')
levels(iris$Species_)[1]
# [1] "versicolor"
在报告中table下方的注释中引用参考水平是很常见的,我建议您也这样做。