在R中手动引入数据的森林图
我最近刚收到我所在大学的一些数据。我已被命令创建一个具有优势比的森林图,但主要问题是,除了最终值之外,我无法访问数据集。我只有一个excel,里面有ORs、95%置信区间、总体、p值和变量 我想在NEJM上创建一个类似于此的森林地块,但我不知道如何才能做到这一点。如果有人能帮助我,我将非常感激。我在平台中看到过类似的问题,但没有一个是面向人工引入的信息,而无需进行计算或回归 我给你留了一个链接到我心目中的形象在R中手动引入数据的森林图,r,manual,journal,forestplot,R,Manual,Journal,Forestplot,我最近刚收到我所在大学的一些数据。我已被命令创建一个具有优势比的森林图,但主要问题是,除了最终值之外,我无法访问数据集。我只有一个excel,里面有ORs、95%置信区间、总体、p值和变量 我想在NEJM上创建一个类似于此的森林地块,但我不知道如何才能做到这一点。如果有人能帮助我,我将非常感激。我在平台中看到过类似的问题,但没有一个是面向人工引入的信息,而无需进行计算或回归 我给你留了一个链接到我心目中的形象 谢谢你的帮助。我的处境与你相似。我只有OR和CI。我已经创建了以下森林图,将我的数据
谢谢你的帮助。我的处境与你相似。我只有OR和CI。我已经创建了以下森林图,将我的数据输入到向量中。您应该检查名为forestplot的包及其附带的文档
test_data <- data.frame(coef1 =c(1.85, 1.86, 1.88, 1.45, 1.64, 1.54, 1.45, 1.64, 1.54, 1.45, 1.64),
coef2 =c(1.54, 1.45, 1.64, 1.54, 1.85, 1.86, 1.88, 5.85, 5.86, 5.88, 1.45),
coef3 =c(1.64, 1.54, 1.45, 1.64, 1.54, 1.45, 1.64, 1.54, 1.45, 1.64, 1.54),
low1 =c(1.45, 1.25, 1.30, 1.10, 1.20, 1.25, 1.15, 1.30, 1.15, 1.15, 1.30),
low2 =c(1.15, 1.15, 1.30, 1.15, 1.45, 1.25, 1.30, 3.45, 3.25, 3.30, 1.10),
low3 =c(1.20, 1.25, 1.10, 1.20, 1.25, 1.10, 1.20, 1.25, 1.10, 1.20, 1.25),
high1 =c(2.52, 2.10, 2.30, 2.54, 2.52, 2.25, 2.54, 2.52, 2.25, 2.54, 2.52),
high2 =c(2.25, 3.54, 3.52, 3.25, 2.52, 2.10, 2.30, 7.52, 7.10, 7.30, 2.54),
high3 =c(2.52, 2.25, 2.54, 2.52, 2.25, 2.54, 2.52, 2.25, 2.54, 2.52, 2.25))
tabletext<- c("Diabetes", "Heart disease", "Stroke", "COPD", "Asthma",
"Cancer", "Arthtitis", "Osteoporosis", "Depression", "Severe mental diseases",
"Dementia")
coef <- with(test_data, cbind(coef1, coef2, coef3))
low <- with(test_data, cbind(low1, low2, low3))
high <- with(test_data, cbind(high1, high2, high3))
library(forestplot)
forestplot(tabletext, coef, low, high,
title="Comorbidities",
zero= 1,
lwd.zero = gpar(lwd=1),
boxsize=0.18,
line.margin = .1,
xticks = c(0:8),
clip=c(0, 8),
fn.ci_norm = c(fpDrawNormalCI, fpDrawDiamondCI, fpDrawCircleCI),
col=fpColors(box=c("darkblue", "darkred", "darkgreen"),
line=c("darkblue", "darkred", "darkgreen"),
zero = "black"),
xlab="Odds ratio (95% CI)",
new_page = TRUE,
txt_gp = fpTxtGp(label = list(gpar(fontfamily = "Times New Roman", cex=1),
xlab = gpar(fontfamily = "Times New Roman", cex=1),
ticks = gpar(fontfamily = "Times New Roman", cex=0.8),
title = gpar(fontfamily = "Times New Roman", cex=1.2))),
legend=c("Unadjusted", "Adjusted for Age and Sex", "Adjusted for all"),
legend_args = fpLegend(title="Model Adjustment",
pos = "top",
r=unit(.2, "snpc"),
gp = gpar(col="black", fill= "white", lwd=0.7)))
test\u数据提供示例数据。森林地块不需要数据,只有OR(CI)就足够了。是的,但我希望有一个类似的布局。我拥有所有数据,但不知道如何编写代码。请提供示例数据: