R - пакет Metafor - рассчитывает и отображает соотношение шансов вместо логарифмического шанса
По сути, я хочу создать свой лесной участок, используя пакет metafor. В настоящее время он работает очень хорошо, за исключением того факта, что он выдает соотношение логарифмов, в то время как я хочу, чтобы само соотношение чистых коэффициентов. Есть ли простой способ сделать это в коде метафоры?
#Metafor library
library(metafor)
#ReadXL library to import excel sheet
library(readxl)
#Name the data sheet from the excel file
ACDF<- read_excel("outpatient_ACDF_meta_analysis.xlsx")
#View the data sheet with view(ACDF)
dpi=600 #pixels per square inch
tiff("metaor.tif", width=6*dpi, height=5*dpi, res=dpi)
#This below measures with risk ratios. If you want to measure odds ratios, use argument measure=OR
returnop <- escalc(measure="OR", ai=op_return_OR, bi=op_no_return_OR, ci=ip_return_OR, di=ip_no_return_OR, data=ACDF)
#Generate a Random Effects Model
REmodel<-rma(yi=yi, vi=vi, data=returnop, slab=paste(Author, Year, sep=", "), method="REML")
#Generate a forest plot of the data
forest(REmodel, xlim=c(-17, 6),
ylim=c(-1, 10),
ilab=cbind(ACDF$op_return_OR, ACDF$op_no_return_OR, ACDF$ip_return_OR,
ACDF$ip_no_return_OR),
ilab.xpos=c(-10,-8.4,-6.6,-4.9), cex=.75,
psize=1)
### add column headings to the plot
text(c(-10,-8.4,-6.6,-4.9), 8.5, c("Return+", "Return-", "Return+", "Return-"),
cex = 0.65)
text(c(-9.25,-5.75), 9.5, c("Outpatient", "Inpatient"))
text(-17, 8.5, "Study", pos=4)
text(6, 8.5, "Log Odds Ratio [95% CI]", pos=2)
dev.off()
Цените помощь, все!
2 ответа
Как объяснено в escalc
функция:
Варианты аргумента "мера":
• ‘"RR"’ for the _log risk ratio_. • ‘"OR"’ for the _log odds ratio_. • ‘"RD"’ for the _risk difference_. • ‘"AS"’ for the _arcsine square root transformed risk difference_ (Rücker et al., 2009). • ‘"PETO"’ for the _log odds ratio_ estimated with Peto's method (Yusuf et al., 1985). Note that the log is taken of the risk ratio and the odds ratio, which makes these outcome measures symmetric around 0 and yields corresponding sampling distributions that are closer to normality.
По этой причине, я думаю, что ответ на ваш вопрос нет, так как нет measure
значение, которое даст вам чистое отношение нечетных чисел и весь анализ / цифры с использованием чистого отношения шансов (ИЛИ). Если вы хотите чистый или мое предположение, вы должны использовать exp()
, напримерexp(returnop$yi)
чтобы получить нечетное соотношение и пару похожих исчислений, чтобы все результаты были выражены в чистом нечетном соотношении. Может быть другой способ, о котором я не знаю.
При реализации forest()
функция, добавьте "atransf = exp"
параметр. Это должно сделать это.
"forest(REmodel, xlim=c(-17, 6), ylim=c(-1, 10),
ilab=cbind(ACDF$op_return_OR, ACDF$op_no_return_OR, ACDF$ip_return_OR,
ACDF$ip_no_return_OR), ilab.xpos=c(-10,-8.4,-6.6,-4.9), cex=.75,
psize=1, atransf="exp")"
Дайте мне знать, если это работает, и если у вас есть другие вопросы!