如何使用forestplot包添加第二个汇总及OR均值垂直参考线?
解决forestplot包的两个常见问题:绘图区域参考线与多汇总行
1. 仅在绘图区域添加OR均值垂直参考线
默认的fp_add_lines()会覆盖整个图形的y轴范围,要限制线条只出现在研究数据的绘图区域,只需通过y参数指定研究行的索引范围即可:
# 假设研究数据对应行索引为1到5(根据你的实际数据调整) forestplot(...) %>% fp_add_lines( x = 1.5, # 替换为你的OR均值 y = c(1, 5), # 仅覆盖研究数据所在行 lty = 2, col = "gray50" )
y参数定义了线条的垂直起止行,这样线条就只会出现在研究数据的绘图区域,不会延伸到表头或汇总行。
2. 添加第二个汇总行
可以直接多次调用fp_append_row()实现多汇总行的添加,无需复杂操作:
forestplot( labeltext = df$label, mean = df$mean, lower = df$lower, upper = df$upper ) %>% # 第一个汇总行 fp_append_row( labeltext = c("亚组汇总1", "OR=1.23", "95%CI: 0.89-1.67"), mean = 1.23, lower = 0.89, upper = 1.67, is.summary = TRUE, col = fpColors(text = "blue") ) %>% # 第二个汇总行 fp_append_row( labeltext = c("整体汇总", "OR=1.18", "95%CI: 0.91-1.53"), mean = 1.18, lower = 0.91, upper = 1.53, is.summary = TRUE, col = fpColors(text = "darkred") )
每次调用fp_append_row()都会在当前行末尾追加新行,通过is.summary=TRUE标记为汇总行,还可自定义颜色区分不同汇总结果。若需要更灵活的布局,也可直接在原始数据框中用rbind预先添加两行汇总数据,再传入forestplot()。
内容的提问来源于stack exchange,提问作者Aniek
相关产品推荐
相关产品推荐

