【问题标题】:Different coefficients with tab_model() and tidy()tab_model() 和 tidy() 的不同系数
【发布时间】:2022-07-08 12:27:22
【问题描述】:

与 broom 包中的 tidy() 相比,使用 sjTools 包中的 tab_model() 函数时,我得到相同模型的不同回归系数。

这是为什么呢?

这是我的数据:

df <- structure(list(weed_coverage = c(0.04, 0.006, 0.03, 0.017, 0.044, 
0.03, 0.02, 0.05, 0.001, 0.008, 0.03, 0.015, 0.002, 0.015, 0.002, 
0.06, 0.002, 0.01, 0.009, 0.008), soil_moisture = c(11.03, 24.35, 
12.55, 31, 16.73, 9.28, 7.55, 33.42, 21.95, 25.02, 11.3, 36.3, 
14.82, 13.8, 13.48, 14.7, 11.2, 18, 36, 32.25), distance = structure(c(2L, 
1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 
2L, 2L, 1L), .Label = c("2", "5"), class = "factor")), class = "data.frame", row.names = c(NA, 
-20L))
betareg (weed_coverage ~ soil_moisture * distance, data = df) -> model_b

tab_model(model_b)
tidy(model_b)

tab_model(model_b)的输出:

tidy(model_b) 的输出:

> tidy(model_b)
# A tibble: 5 x 6
  component term                    estimate std.error statistic  p.value
  <chr>     <chr>                      <dbl>     <dbl>     <dbl>    <dbl>
1 mean      (Intercept)              -5.11      0.728      -7.02 2.18e-12
2 mean      soil_moisture             0.0354    0.0302      1.17 2.41e- 1
3 mean      distance5                 1.99      0.835       2.38 1.72e- 2
4 mean      soil_moisture:distance5  -0.0652    0.0372     -1.75 7.99e- 2
5 precision (phi)                    77.7      26.6         2.92 3.54e- 3

【问题讨论】:

    标签: r betareg


    【解决方案1】:

    它们是一样的,你只需要对来自tidy的那些取幂即可:

    vars <- c(-5.11, 0.0354, 1.99, -0.0652)
    exp(vars)
    round(exp(vars),2)
    
    #> exp(vals)
    #[1] 0.006036083 1.036034040 7.315533762 0.936880069
    #> round(exp(vals),2)
    #[1] 0.01 1.04 7.32 0.94
    
    results <- broom::tidy(model_b)
    exp(res$estimate)
    #[1] 6.041116e-03 1.036079e+00 7.305950e+00 9.369114e-01 5.575028e+33
    
    

    【讨论】:

    • 谢谢!你知道这是为什么吗?展示结果时,什么更有意义?
    • 模型 beta 是预测变量每单位变化的结果的对数几率的变化,因此为了使它们成为每单位结果的几率变化,您需要对它们取幂。大多数人认为赔率更容易解释并在文献中报告,就像报告逻辑回归一样(这可能是tab_model 这样做的原因,尽管我没有那个包 - 但它看起来很棒!用于报告)。如果查看实际的model_b 值,参数与broom 中的参数相同
    • 好的,所以如果我对 log-odds 求幂,我会得到更好解释的赔率。那讲得通!谢谢!
    猜你喜欢
    • 2023-01-20
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多