【发布时间】:2018-07-08 19:33:18
【问题描述】:
我使用摘要进行线性回归,通常摘要用因子水平的名称标记系数。但是,当我使用options(contrasts=c("contr.sum","contr.poly")) 时,
总结出来的是用变量名1、变量名2而不是级别的名称来标记系数。我怎样才能让它显示级别名称呢?
如果我必须手动进行,我怎么知道哪个系数是哪个级别的?
【问题讨论】:
标签: r linear-regression
我使用摘要进行线性回归,通常摘要用因子水平的名称标记系数。但是,当我使用options(contrasts=c("contr.sum","contr.poly")) 时,
总结出来的是用变量名1、变量名2而不是级别的名称来标记系数。我怎样才能让它显示级别名称呢?
如果我必须手动进行,我怎么知道哪个系数是哪个级别的?
【问题讨论】:
标签: r linear-regression
我会为每个因素手动定义对比度和标签,如下所示:
data(iris)
contrasts(iris$Species)
#> versicolor virginica
#> setosa 0 0
#> versicolor 1 0
#> virginica 0 1
lm(Sepal.Length ~ Species, data = iris)
#>
#> Call:
#> lm(formula = Sepal.Length ~ Species, data = iris)
#>
#> Coefficients:
#> (Intercept) Speciesversicolor Speciesvirginica
#> 5.006 0.930 1.582
contrasts(iris$Species) <- contr.sum(3)
colnames(contrasts(iris$Species)) <- c("_setosa", "_versicolor")
contrasts(iris$Species)
#> _setosa _versicolor
#> setosa 1 0
#> versicolor 0 1
#> virginica -1 -1
lm(Sepal.Length ~ Species, data = iris)
#>
#> Call:
#> lm(formula = Sepal.Length ~ Species, data = iris)
#>
#> Coefficients:
#> (Intercept) Species_setosa Species_versicolor
#> 5.84333 -0.83733 0.09267
【讨论】: