【问题标题】:Using metafor::rma with broom::tidy?将 metafor::rma 与 broom::tidy 一起使用?
【发布时间】:2020-03-10 10:50:30
【问题描述】:

我是一个完整的 R 新手,想要做以下事情:

library(metafor)
library(broomExtra)

df <-
  escalc(
    measure = "RR",
    ai = tpos,
    bi = tneg,
    ci = cpos,
    di = cneg,
    data = dat.bcg
  )

meta_analysis <- rma(yi, vi, data = df, method = "EB")

meta_analysis

tidy(meta_analysis)

为什么tidy(meta_analysis)总是给我NULL

【问题讨论】:

    标签: r broom


    【解决方案1】:

    如果broom中没有tidier,你可以使用broomExtra::tidy_parameters函数:

    library(metafor)
    #> Loading required package: Matrix
    #> Loading 'metafor' package (version 2.1-0). For an overview 
    
    df <-
      escalc(
        measure = "RR",
        ai = tpos,
        bi = tneg,
        ci = cpos,
        di = cneg,
        data = dat.bcg
      )
    
    meta_analysis <- rma(yi, vi, data = df, method = "EB")
    
    broomExtra::tidy_parameters(meta_analysis)
    #> # A tibble: 1 x 8
    #>   term    type    estimate std.error statistic   p.value conf.low conf.high
    #>   <chr>   <chr>      <dbl>     <dbl>     <dbl>     <dbl>    <dbl>     <dbl>
    #> 1 overall summary   -0.715     0.181     -3.95 0.0000774    -1.07    -0.360
    

    【讨论】:

      【解决方案2】:

      检查了文档 (?tidy)。对于rma 类的对象,似乎没有整洁的方法。来自broomExtra::tidy的文档:

      检查给定对象是否存在整洁的方法,无论是在扫帚中还是在 在 broom.mixed 中。如果是这样,它会将一个对象变成一个整洁的 tibble,如果 不,返回 NULL。在数据帧的情况下,一个 tibble 数据帧是 返回。

      【讨论】:

      • 非常感谢 -- 请注意,我的示例来自该网站,我认为该网站是整洁的文档:broom.tidyverse.org/reference/metafor_tidiers.html
      • 这是否意味着该方法消失了?还是我做错了什么?
      • 这是因为 metafor tidiers 仅存在于 GitHub 版本的 broom 而不是 CRAN 版本。
      • 干得好,英德拉吉特。有同样的想法。示例代码使用 github 版本的 broom 以及您的 broomExtra 方法工作。
      猜你喜欢
      • 1970-01-01
      • 2016-09-23
      • 2018-09-14
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多