【问题标题】:Modelling for zero using glm function in R使用 R 中的 glm 函数对零建模
【发布时间】:2015-03-22 10:06:03
【问题描述】:

我正在尝试使用 R 中的 glm 函数构建逻辑回归模型。我的因变量是只有 0 和 1 的二项式。这里 0 - 不返回,1- 返回。

我想为 Non-Return (0's) 建模,但 R 的 glm 函数默认构建为 1's。就像在默认情况下为较低值构建的 SAS 中一样,我们可以在 proc 逻辑中使用降序属性来更改顺序,我们在 glm 中是否也有类似的东西?

我有一个选项可以通过将原始数据中的 0 更改为 1 来实现这一点,反之亦然,但我不想更改我的原始数据。

请帮助我或指导我如何在 R 中做类似的事情。

提前致谢。

【问题讨论】:

    标签: r glm logistic-regression


    【解决方案1】:

    只需将1 - y 指定为 DV:

    set.seed(42)
    y <- sample(c(0, 1), 10, TRUE)
    #[1] 1 1 0 1 1 1 1 0 1 1
    
    fit <- glm(y ~ 1, family = binomial)
    coef(fit)
    # (Intercept) 
    # 1.386294 
    log(mean(y) / (1 - mean(y)))
    #[1] 1.386294
    
    1 - y
    #[1] 0 0 1 0 0 0 0 1 0 0
    
    fit1 <- glm(1 - y ~ 1, family = binomial)
    coef(fit1)
    #(Intercept) 
    #-1.386294 
    log(mean(1 - y) / (1 - mean(1 - y)))
    #[1] -1.386294
    

    【讨论】:

      【解决方案2】:

      或者,您可以使用...transform:

      临时转换您的数据
      glm( data = transform( data.frame(y=0), y=y+1 ), ... )
      

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 2012-06-07
        • 2020-05-23
        • 1970-01-01
        • 2021-07-12
        • 2013-09-30
        • 2020-09-03
        相关资源
        最近更新 更多