【问题标题】:How to get R to label factors by level names using summary()?如何使用summary()让R按级别名称标记因子?
【发布时间】:2018-07-08 19:33:18
【问题描述】:

我使用摘要进行线性回归,通常摘要用因子水平的名称标记系数。但是,当我使用options(contrasts=c("contr.sum","contr.poly")) 时, 总结出来的是用变量名1、变量名2而不是级别的名称来标记系数。我怎样才能让它显示级别名称呢?

如果我必须手动进行,我怎么知道哪个系数是哪个级别的?

【问题讨论】:

    标签: r linear-regression


    【解决方案1】:

    我会为每个因素手动定义对比度和标签,如下所示:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 2015-03-05
      相关资源
      最近更新 更多