首页 > 解决方案 > 在 dmetar 包中运行 gosh.diagnostics() 函数时发生错误

问题描述

我一直在从事一项荟萃分析项目,其中涉及复杂的 GOSH 图来探索研究间的异质性(Olkin et al., 2012)。为了进一步识别潜在的异常值,我采用了 Harrer 等人提出的方法。如综合指南 ( https://bookdown.org/MathiasHarrer/Doing_Meta_Analysis_in_R/gosh-plot-analysis.html ) 中所述。具体来说,gosh.diagnostics() 函数使用三种无监督机器学习算法来检测 GOSH 图数据中的集群,并自动确定哪些研究对它们的贡献最大。当我运行这个函数时,大多数时候它给了我没有错误的结果。但是,这一次它返回了一个错误,说“错误[.data.frame(dat.db.full, db.plot.mask, c(3, 6, outlier.studies.all.mask)) : undefined columns selected"。有人可以告诉我问题可能源于什么以及可能的解决方案它?

这是我的代码。

# install required packages
install.packages("devtools")
devtools::install_github("MathiasHarrer/dmetar")
install.packages("metafor")

# load required packages
library(metafor)
library(dmetar)

# Create data set

TE <- c(0.693147181,
        0.932164081,
        0.759870813,
        0.937269138,
        1.688249093,
        0.955511445,
        0.91228271,
        0.353,
        1.638258578,
        2.592980871,
        0.587786665,
        1.098612289,
        0.815364813,
        0.444685821,
        0.841567186,
        -0.589606502
)

seTE <- c(0.332562268,
          0.403827718,
          0.280396018,
          0.432861017,
          0.196494688,
          0.453186734,
          0.47468172,
          0.174,
          0.379343294,
          1.444715875,
          0.276176517,
          0.383693213,
          0.417546777,
          0.218181816,
          0.663200487,
          1.081238182
)

author <- seq(16)

df <- data.frame(author, TE, seTE)

# Fit the data
m.rma.df <- rma(yi = df$TE, 
                sei = df$seTE,
                method = "DL")

# plot GOSH plot
dat.gosh.df <- gosh(m.rma.df)

# Run diagnostics
gosh.diagnostics(dat.gosh.df)

标签: r

解决方案


推荐阅读