Построение параллельных участков леса с использованием функции леса в метапакете - PullRequest
0 голосов
/ 09 октября 2018

Я бы хотел иметь возможность строить графики рядом с лесом, используя функцию forest () в метапакете в R. Я успешно сделал это, используя функцию forest.default () в пакете metafor, но япредпочитаю графики forest (), созданные с помощью метапакета.Вот что я пробовал до сих пор:

oldpar <- par(mfrow=c(1, 2)) 
oldpar
res <- metagen(TE=sens, seTE=sens.se, data=df, studlab=study) 
forest(res, data=df, method.tau="REML", comb.random=TRUE, 
leftcols="studlab", rightcols=c("effect", "ci") 
res2 <- metagen(TE=sens2, seTE=sens.se2, data=df, studlab=study) 
forest(res2, data=df, method.tau="REML", comb.random=TRUE, 
leftcols="studlab", rightcols=c("effect", "ci")

Я также пробовал:

par(mfrow=c(1,2))
par(mar=c(5,4,1,1))
res <- metagen(TE=sens, seTE=sens.se, data=df, studlab=study)
forest(res, data=df, method.tau="REML", comb.random=TRUE, 
leftcols="studlab", rightcols=c("effect", "ci")
par(mar=c(5,3,1,2))
res2 <- metagen(TE=sens2, seTE=sens.se2, data=df, studlab=study)
forest(res2, data=df, method.tau="REML", comb.random=TRUE, 
leftcols="studlab", rightcols=c("effect", "ci")

Наконец, я попытался работать с пакетами "grid" и "lattice" длябезрезультатно.Когда я пытаюсь сохранить графики как объекты, в глобальной среде они отображаются как «NULL».

Оба эти метода работали на графиках других типов, но по непонятным причинам не работают на лес.графики, сгенерированные функцией леса в метапакете.

Пожалуйста, дайте мне знать, если у вас есть решение для этого.

Спасибо!

Обновление - структура моегонабор данных:

structure(list(study = 1:7, sens = c(0.88, 0.86, 0.75, 0.9, 0.91, 
0.93, 0.98), sens.se = c(0.13, 0.08, 0.2, 0.06, 0.13, 0.15, 0.66
), sens2 = c(0.76, 0.68, 0.9, 0.82, 0.76, 0.85, 0.76), sens.se2 = c(0.14, 
0.08, 0.2, 0.06, 0.14, 0.15, 0.66)), class = "data.frame", row.names = 
c(NA, -7L))

1 Ответ

0 голосов
/ 15 ноября 2018

Вот воспроизводимый пример, использующий набор данных, доступный в meta.Как указано в комментариях, используйте очень хорошие утилиты для построения графиков, но они доступны в сеточной графической системе.

library(meta)
library(vcd)
library(gridGraphics)
library(gridExtra)

data(Olkin95)
meta.olkin95 <- metabin(event.e, n.e, event.c, n.c,
                        studlab = paste(author, year),
                        data = Olkin95, subset = c(41, 47, 51, 59),
                        method = "Inverse")
forest(meta.olkin95, comb.fixed = F)
plot.olkin95 <- grid.grab()

data(Fleiss93cont)
meta.fleiss93 <- metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c,
                          studlab = paste(study, year),
                          data=Fleiss93cont, 
                          sm="SMD")
forest(meta.fleiss93, comb.fixed = F)
plot.fleiss93 <- grid.grab()

grid.newpage()
grid.arrange(plot.olkin95, plot.fleiss93, ncol=1)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...