从GLM中排除特定记录?

时间:2017-07-06 21:29:35

标签: r statistics glm

我已经建立了一个GLM模型,主要说明如下:

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用R中许多建模函数的subset参数。例如:

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的{​​{1}}参数,该参数将作用于您提供给model.frame的任何subset参数。

PS:注意我是如何指定glm()的;你不需要做奇怪的引用组合。 familybinomialbinomial()中的一个应该没问题,因为logit链接是二项式系列的规范链接,因此它是R {{1}中的默认值家庭功能。如果要指定链接,请使用以下表单:"binomial"