在 metafor 中为森林图添加数据间隙
Adding gaps in data for forest plot in metafor
我是 R 的新手,正在使用 metafor
包的 forest.default
实现创建一个包含数据集的森林图(我只有 x
、ci.ub
和 ci.ub
在森林图的数据中)
我快完成了,我的情节看起来类似于 this, except that my data goes over the black horizontal border on top of the graph. I worked with that, but I have one forest plot always on the same row as that of the horizontal border, and superimposing with a white line also doesn't help as mentioned 。
我的问题是:如何为我的数据集添加间隙,以便森林图本身将黑色边框向上移动?This is the image of the plot currently with the border (currently superimposed with a white line) cutting through my data
谢谢!
编辑:这是代码片段
require(metafor)
metafor::forest(
x = as.vector(t(data_set[, forest_plot$mean])),
xlim = c(min_x_value - 2 * (plot_span), max_x_value),
alim = c(min_x_value , max_x_value),
ci.lb = as.vector(t(data_set[, forest_plot$low])),
ci.ub = as.vector(t(data_set[, forest_plot$high])),
col = "darkgoldenrod4",
ilab = display_data_matrix,
ilab.pos = 4,
annotate = FALSE,
slab = NA,
ilab.xpos = c(min_x_value - 2 * plot_span, min_x_value - 1.5 * plot_span, min_x_value - 0.75 * plot_span, min_x_value - 0.25 * plot_span),
rows = row_groupings,
xlab = paste(measure, ep_type, ep)
)
# print("e")
text(min_x_value - 2* plot_span, subgroup_rows, col = "brown3", pos = 4 , subgroup_titles, cex = 1.2)
header_line <- dim(data_set)[1] + gaps + 1
text( c(min_x_value - 2 * plot_span,
min_x_value - 1.5 * plot_span,
min_x_value - 0.75 * plot_span,
min_x_value - 0.25 * plot_span),
pos = 4,
cex = 1.4,
col = "darkorchid4",
header_line, c("Trial", "Randomized Treatment", "N Arm", "Time") )
abline(h=dim(data_set)[1]+1, lwd=2, col="white")
您需要调整 ylim
参数。执行以下操作:
sav <- forest(x = [...])
sav
(其中 [...]
是您的所有其余代码)。然后查看 ylim
的默认值是什么。通过将 2 添加到上限值进行调整(因为您为子组标题添加了两行),然后在调用 forest()
.
时使用 ylim=c(lower,upper)
我是 R 的新手,正在使用 metafor
包的 forest.default
实现创建一个包含数据集的森林图(我只有 x
、ci.ub
和 ci.ub
在森林图的数据中)
我快完成了,我的情节看起来类似于 this, except that my data goes over the black horizontal border on top of the graph. I worked with that, but I have one forest plot always on the same row as that of the horizontal border, and superimposing with a white line also doesn't help as mentioned
我的问题是:如何为我的数据集添加间隙,以便森林图本身将黑色边框向上移动?This is the image of the plot currently with the border (currently superimposed with a white line) cutting through my data
谢谢!
编辑:这是代码片段
require(metafor)
metafor::forest(
x = as.vector(t(data_set[, forest_plot$mean])),
xlim = c(min_x_value - 2 * (plot_span), max_x_value),
alim = c(min_x_value , max_x_value),
ci.lb = as.vector(t(data_set[, forest_plot$low])),
ci.ub = as.vector(t(data_set[, forest_plot$high])),
col = "darkgoldenrod4",
ilab = display_data_matrix,
ilab.pos = 4,
annotate = FALSE,
slab = NA,
ilab.xpos = c(min_x_value - 2 * plot_span, min_x_value - 1.5 * plot_span, min_x_value - 0.75 * plot_span, min_x_value - 0.25 * plot_span),
rows = row_groupings,
xlab = paste(measure, ep_type, ep)
)
# print("e")
text(min_x_value - 2* plot_span, subgroup_rows, col = "brown3", pos = 4 , subgroup_titles, cex = 1.2)
header_line <- dim(data_set)[1] + gaps + 1
text( c(min_x_value - 2 * plot_span,
min_x_value - 1.5 * plot_span,
min_x_value - 0.75 * plot_span,
min_x_value - 0.25 * plot_span),
pos = 4,
cex = 1.4,
col = "darkorchid4",
header_line, c("Trial", "Randomized Treatment", "N Arm", "Time") )
abline(h=dim(data_set)[1]+1, lwd=2, col="white")
您需要调整 ylim
参数。执行以下操作:
sav <- forest(x = [...])
sav
(其中 [...]
是您的所有其余代码)。然后查看 ylim
的默认值是什么。通过将 2 添加到上限值进行调整(因为您为子组标题添加了两行),然后在调用 forest()
.
ylim=c(lower,upper)