2017-07-06 79 views
0

我已经建立了一个GLM模型,基本上说以下内容:从GLM中排除特定记录?

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

一些从变量的结果“行动”是不相关的模型(即“未使用”)。但是,在我建立的其他模型中,这些记录仍然很重要。如果可能的话,我不想只为这一个模型过滤数据框。

This question告诉我如何排除列。有没有办法在公式中排除GLM中的特定记录?

回答

1

可以使用subset说法,许多在R中的建模功能都有。例如:

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

将除去行,其中action == "Did not use"后拟合模型的数据集。如果您有其他各级action下降,您可以使用

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

这将排除任何行,其中action等于或者所提供的选项。

您也可能想在drop.unused.levels参数看model.frame,这是将你提供给glm()任何subset参数执行的功能。

PS:注意如何我指定的family;你不需要做奇怪的引用组合。作为分对数链接是规范链接二项式家庭,因此它是R中的bionmial()家庭功能的默认binomialbinomial()"binomial"一个应该罚款。如果你想指定链接,使用此表:binomial(link = "logit")