Почему я продолжаю получать ошибки NaN, когда пытаюсь запустить код для пакета metasens в R? - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь запустить то, что я считал относительно простым кодом для модели предвзятости публикации метаанализа, используя пакет metasens для R во фрейме данных, используя следующий код:

library(meta)
library(metasens)

CopasPBData <- data.frame(
  es = c(0.1267, -0.012, 0.0216, 0.0876, 0.1619, 142.2493, -0.0091, 95.7105, 0.1411, 0.0998, 88.4837, 0.008, 0.1772, 0.009, -0.0748, 0.06, 0.5981, -0.1118, -863.47, 0.121, 0.028),
  se = c(0.0425, 0.0159, 0.0094, 0.0018, 0.0264, 61.0296, 0.0168, 6.4822, 0.0027, 0.0368, 9.2297, 0.0076, 0.027, 0.0364, 0.0204, 0.05, 0.0656, 0.056, 1824.75, 0.1443, 0.0144))

CopasPBMA <- metagen(es, se, data = CopasPBData, sm = "SMD", comb.random = gs("comb.random"))
summary(CopasPBMA)

CopasPBModel <- copas(CopasPBMA, rho.bound = 0.9999)
plot(CopasPBMA, 1:4)
summary(CopasPBMA)

warnings(CopasPBModel)
warnings()

What Я ожидал получить пару модельных оценок, а затем серию красивых графиков, демонстрирующих, как оцениваемый главный эффект изменяется в зависимости от изменяющейся вероятности подавления наименьшего / наименее точного размера эффекта в данных. Вместо этого я получил серию сообщений об ошибках:

Warning messages:
1: In sqrt(1 - rho2.tilde) : NaNs produced Error in cat("1: In sqrt(1 - rho2.tilde) : NaNs produced", list(TE = c(0.1267,  : 
  argument 2 (type 'list') cannot be handled by 'cat'
> warnings()
Warning messages:
1: In sqrt(1 - rho2.tilde) : NaNs produced
2: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
3: In sqrt((1 - rho2.tilde)) : NaNs produced
4: In sqrt(1 - rho2.tilde) : NaNs produced
5: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
6: In sqrt((1 - rho2.tilde)) : NaNs produced
7: In sqrt(1 - rho2.tilde) : NaNs produced
8: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
9: In sqrt((1 - rho2.tilde)) : NaNs produced
10: In sqrt(1 - rho2.tilde) : NaNs produced
11: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
12: In sqrt((1 - rho2.tilde)) : NaNs produced
13: In sqrt(1 - rho2.tilde) : NaNs produced
14: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
15: In sqrt((1 - rho2.tilde)) : NaNs produced
16: In sqrt(1 - rho2.tilde) : NaNs produced
17: In sqrt((s2t2) * (1 - rho2.tilde)) : NaNs produced
18: In sqrt((1 - rho2.tilde)) : NaNs produced

Как я могу догадаться, в пакете используется уравнение, в котором для 18 из 21 точки данных знаменатель принимает значение 0. Однако я понятия не имею, почему это происходит. Мы будем очень благодарны за любую информацию / совет.

...