假设我想使用lm
和 afactor
作为右手边的变量来运行回归。选择因子中的哪个级别是基本类别(为避免多重共线性而被排除的类别)的最佳方法是什么。请注意,我对排除截距不感兴趣,因为我有很多因素。
我还想要一个基于公式的解决方案,而不是直接作用于 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.
遗漏的类别 bylm
是因子中的第一个级别,因此这只是重新排序级别,以便指定的级别是第一个级别,base_cat()
其余的放在后面。
还有其他想法吗?