【问题标题】:Best way in R to pick which level is the base category for a factor in an lm regressionR中选择哪个级别是lm回归中因子的基本类别的最佳方法
【发布时间】:2011-12-11 07:40:27
【问题描述】:

假设我想使用lmfactor 作为右侧变量来运行回归。选择因子中的哪个级别是基本类别(为避免多重共线性而被排除的类别)的最佳方法是什么。请注意,我对排除截距不感兴趣,因为我有很多因素。

我还想要一个基于公式的解决方案,而不是直接作用于 data.frame 的解决方案,但如果您认为您有一个非常好的解决方案,请也发布它。

我的解决办法是:

base_cat <- function(x) c(x,1:(x-1),(x+1):100) 
a_reg <- lm(y ~ x1 + x2 + factor(x3, levels=base_cat(30)) #suppose that x3 has draws from the integers 1 to 100.

lm 遗漏的类别是因子中的第一个级别,因此这只是重新排序级别,以便 base_cat() 中指定的级别是第一个级别,其余的放在后面。

还有其他想法吗?

【问题讨论】:

    标签: r lm r-factor


    【解决方案1】:

    函数relevel 正是这样做的。您将一个无序因子和参考级别的名称传递给它,它会返回一个将该级别作为第一个级别的因子。

    【讨论】:

      猜你喜欢
      • 2015-10-13
      • 2019-11-19
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多