9

を右側の変数として使用lmして回帰を実行するとします。factor因子のどのレベルが基本カテゴリ(多重共線性を回避するために除外されるもの)であるかを選択するための最良の方法は何ですか。私には多くの要因があるため、切片を除外することに興味がないことに注意してください。

また、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()最初のレベルになるようにレベルを並べ替え、残りを後に置きます。

他のアイデアはありますか?

4

1 に答える 1

6

関数relevelはこれを正確に実行します。順序付けされていない因子と参照レベルの名前を渡すと、そのレベルを最初の因子として返します。

于 2011-10-19T21:41:41.933 に答える