【问题标题】:Forest plot using risk ratio and confidence intervals使用风险比和置信区间的森林图
【发布时间】:2020-08-22 01:34:00
【问题描述】:

如何使用带有比较标签的风险比和置信区间来制作这样的森林图? 我不希望 R 自动对比较进行分组,我只想用左侧的标签绘制森林图。谢谢。

我使用这个代码:

d=result
df=data.frame(d)

cochrane_from_rmeta <- 
  structure(list(
    mean  = df$RiskRatio, 
    lower = df$LowerLimit,
    upper = df$UpperLimit),
    .Names = c("RiskRatio", "lower", "upper"), 
    row.names = c(NA, -14L), 
    class = "data.frame")

tabletext<-cbind(
  c(df$Outcomes),
  c(df$Comparison),
  c(df$...4),
  c(df$RiskRatio))

forestplot(tabletext, 
           cochrane_from_rmeta,new_page = TRUE,
           is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE),
           clip=c(0.1,2.5), 
           xlog=TRUE, 
           col=fpColors(box="royalblue",line="darkblue", summary="royalblue"))

但它显示错误

【问题讨论】:

标签: r forestplot


【解决方案1】:

这是你想要达到的目标吗?

#install.packages("forestplot")
library(forestplot)
# Cochrane data from the 'rmeta'-package
cochrane_from_rmeta <- 
  structure(list(
    mean  = c(NA, NA, 0.578, 0.165, 0.246, 0.700, 0.348, 0.139, 1.017, NA, 0.531), 
    lower = c(NA, NA, 0.372, 0.018, 0.072, 0.333, 0.083, 0.016, 0.365, NA, 0.386),
    upper = c(NA, NA, 0.898, 1.517, 0.833, 1.474, 1.455, 1.209, 2.831, NA, 0.731)),
    .Names = c("mean", "lower", "upper"), 
    row.names = c(NA, -11L), 
    class = "data.frame")

tabletext<-cbind(
  c("", "Study", "Auckland", "Block", 
    "Doran", "Gamsu", "Morrison", "Papageorgiou", 
    "Tauesch", NA, "Summary"),
  c("",
    "Comparison",
    "Placebo 1",
    "Placebo 2",
    "Placebo 3",
    "Placebo 4",
    "Placebo 5",
    "Treatment 1",
    "Treatment 2",
    NA,
    ""),
  c("",
    "Relative Risk \n 95% CI",
    "0.88 (0.84-0.92)",
    "0.87 (0.81-0.94)",
    "0.88 (0.84-0.92)",
    "0.87 (0.81-0.94)",
    "0.88 (0.84-0.92)",
    "0.88 (0.84-0.92)",
    "0.87 (0.81-0.94)",
    NA,
    "0.87 (0.81-0.94)"),
  c("", "OR", "0.58", "0.16", 
    "0.25", "0.70", "0.35", "0.14", 
    "1.02", NA, "0.53"),
  c("", "F", "1.1", "1.3", 
    "0.2", "5", "3.1", "0", 
    "0.1", NA, "4.1"))

forestplot(tabletext, 
           cochrane_from_rmeta,
           graph.pos = 3, 
           new_page = TRUE,
           is.summary=c(rep(FALSE,11)),
           clip=c(0.1,2.5), 
           xlog=TRUE,
           col=fpColors(box="royalblue",
                        line="darkblue",
                        summary="royalblue"))

【讨论】:

  • 是的,但我总是在 forestplot (tabletext, cochrane_from_rmeta, new_page = TRUE, is.summary = c(TRUE, : 未使用的参数 (new_page = TRUE, is.summary = c(TRUE,真,代表(假,8),真)剪辑= c(0.1,2.5),xlog=真,col=fpColors(box=“royalblue”,line=“darkblue”,summary=“royalblue”))跨度>
  • 好的,只是为了澄清一下,解决方案就是您想要得到的,但是如果您在我的答案中剪切并粘贴代码,您会收到错误消息吗?您是将其粘贴到 R 控制台还是 Rstudio 中?您是一起运行还是逐个命令运行?您能否将sessionInfo() 的输出添加到您的问题中?
  • 嗨 Jared,我意识到我的字体太大了,一旦我添加了txt_gp = fpTxtGp(label = gpar(fontfamily = "", cex=.5) 并更改了is.summary=c(rep(FALSE,11)),它就可以工作了。谢谢!
  • 不客气。如果我的解决方案足够,请accept my answer
猜你喜欢
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 2017-05-03
  • 2021-03-28
相关资源
最近更新 更多