Предположим, я хочу запустить регрессию, используя lm
и фактор
в качестве переменной с правой стороны. Как лучше всего выбрать, какой уровень в факторе является базовой категорией (той, которая исключена, чтобы избежать мультиколлинеарности). Обратите внимание, что меня не интересует исключение точки пересечения, потому что я имеет много факторов.
Я также хотел бы решение на основе формул, а не такое, которое напрямую воздействует на 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 ()
, был первым. один, а остальные помещает после.
Есть другие идеи?