2017-07-06 17 views
0

私は、基本的には次の言うGLMモデルを構築しました:GLMから特定のレコードを除外しますか?

glm(conversion ~ action, data = data, family = "binomial"(link="logit") 

結果の一部を変数から「アクション」は(すなわち、「使用していませんでした」)モデルには関係ありません。しかし、私が構築した他のモデルでは、それらのレコードは依然として重要です。私は可能な限り、このモデルのデータフレームだけをフィルタリングしたくありません。

This questionは、列を除外する方法を教えてくれます。数式中のGLMから特定のレコードを除外する方法はありますか?

答えて

1

Rのモデリング関数の多くにはsubset引数を使用できます。たとえば、

glm(conversion ~ action, data = data, family = binomial(), 
    subset = action != "Did not use") 

action == "Did not use"の行を削除した後のデータセットにモデルを適合させます。あなたがドロップするactionで追加のレベルを持っている場合は、actionは、指定されたオプションのいずれかに等しい任意の行を除外します

glm(conversion ~ action, data = data, family = binomial(), 
     subset = !action %in% c("Did not use", "Other")) 

を使用する場合があります。

また、あなたがglm()に供給するすべてのsubset引数に作用する関数であるmodel.framedrop.unused.levels引数、見たいかもしれません。

PS:familyをどのように指定したかに注意してください。引用の奇妙な組み合わせを行う必要はありません。 binomial,binomial()または"binomial"のいずれかが正しくなければなりません。これは、ロジットリンクが2項族の正規のリンクであるため、Rのbionmial()ファミリ関数のデフォルトです。リンクを指定する場合は、binomial(link = "logit")という形式を使用します。

関連する問題