使用“dosresmeta”函数的剂量反应荟萃分析中的错误

问题描述 投票:0回答:0

我正在尝试使用 R 中的 dosresmeta 函数执行剂量反应元分析。这是我使用的语法:

TyG_BMI <- dosresmeta(formula = logrr ~ dose, type = type, id = id, se = se, cases = cases, n = n, data = TyG_BMI)

但是,我收到以下错误:

Error in `diag<-`(`*tmp*`, value = 1) : 
  only matrix diagonals can be replaced

有人可以帮助我了解导致此错误的原因以及如何解决吗?这是我正在使用的数据集:

TyG_BMI <- data.frame(
  author = c("Wang", "Wang", "Wang", "Wang", "Wang", "Kim", "Kim", "Kim", "Kim", "Li", "Li", "Li", "Li", "Zhang", "Zhang", "Zhang", "Zhang"),
  id = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4),
  type = c("CS", "CS", "CS", "CS", "CS", "CS", "CS", "CS", "CS", "PCS", "PCS", "PCS", "PCS", "CS", "CS", "CS", "CS"),
  dose = c(1.000, 4.030, 10.810, 25.520, 74.760, 1.000, 3.500, 8.630, 25.340, 1.000, 4.718, 15.062, 38.242, 1.000, 2.400, 6.400, 15.300),
  cases = c(11, 56, 198, 612, 1630, 91, 413, 960, 1826, 7, 35, 185, 614, 22, 90, 278, 567),
  n = c(2850, 2850, 2851, 2849, 2851, 2646, 2647, 2646, 2646, 2435, 2406, 2257, 1828, 1000, 1000, 1000, 1000),
  logrr = c(0.0000000, 1.3937660, 2.3804720, 3.2394620, 4.3142830, 0.0000000, 1.2527630, 2.1552450, 3.2323840, 0.0000000, 1.5513850, 2.7121750, 3.6439340, 0.0000000, 0.8754688, 1.8562980, 2.7278530),
  lb = c(1.000, 2.030, 5.630, 13.360, 38.860, 1.000, 2.750, 6.830, 19.930, 1.000, 1.387, 4

我已经尝试了所有故障排除步骤,但仍然找不到解决方案

r analytics metafor
© www.soinside.com 2019 - 2024. All rights reserved.