Я хотел бы минимизировать высоту строк, чтобы она была одинаковой на разных лесных участках с разным количеством строк.
Я пробовал lineheight = unit(8,6,"mm"), но, похоже, это не работает.
library(forestplot)
base_data <- tibble::tibble(mean = c(0.578, 0.165),
lower = c(0.372, 0.018),
upper = c(0.898, 1.517),
study = c("Auckland", "Block"),
deaths_steroid = c("36", "1"),
deaths_placebo = c("60", "5"),
OR = c("0.58", "0.16"))
base_data |>
forestplot(labeltext = c(study, deaths_steroid, deaths_placebo, OR),
clip = c(0.1, 2.5),
xlog = TRUE) |>
fp_set_style(box = "royalblue",
line = "darkblue",
summary = "royalblue") |>
fp_add_header(study = c("", "Study"),
deaths_steroid = c("Deaths", "(steroid)"),
deaths_placebo = c("Deaths", "(placebo)"),
OR = c("", "OR")) |>
fp_append_row(mean = 0.531,
lower = 0.386,
upper = 0.731,
study = "Summary",
OR = "0.53",
is.summary = TRUE) |>
fp_set_zebra_style("#EFEFEF") ```
Аргумент lineheight
предполагает, что он фиксирует высоту строк на графике, но я не вижу, чтобы это происходило где-либо в реальном коде — он передается только в некоторые функции, определяющие легенду. Почти всегда графики R просто масштабируются до размера окна, в котором они рисуются, поэтому более вероятное решение — зафиксировать размер, масштабируемый по количеству строк, которые вы рисуете, или, возможно, дополнить график пустым пространством. для достижения одинакового количества «строк».
Существует открытая проблема с аргументом lineheight
, но в ветке разработки есть патч, который вы можете попробовать. Сначала установите версию для разработчиков:
devtools::install_github("gforge/forestplot@develop")
Затем мы можем проверить, исправит ли патч проблему с помощью lineheight
:
library(forestplot)
base_data <- tibble::tibble(mean = c(0.578, 0.165),
lower = c(0.372, 0.018),
upper = c(0.898, 1.517),
study = c("Auckland", "Block"),
deaths_steroid = c("36", "1"),
deaths_placebo = c("60", "5"),
OR = c("0.58", "0.16"))
base_data |>
forestplot(labeltext = c(study, deaths_steroid, deaths_placebo, OR),
clip = c(0.1, 2.5),
lineheight = unit(20,"mm"),
xlog = TRUE) |>
fp_set_style(box = "royalblue",
line = "darkblue",
summary = "royalblue") |>
fp_add_header(study = c("", "Study"),
deaths_steroid = c("Deaths", "(steroid)"),
deaths_placebo = c("Deaths", "(placebo)"),
OR = c("", "OR")) |>
fp_append_row(mean = 0.531,
lower = 0.386,
upper = 0.731,
study = "Summary",
OR = "0.53",
is.summary = TRUE) |>
fp_set_zebra_style("#EFEFEF")
base_data |>
forestplot(labeltext = c(study, deaths_steroid, deaths_placebo, OR),
clip = c(0.1, 2.5),
lineheight = unit(8.6,"mm"),
xlog = TRUE) |>
fp_set_style(box = "royalblue",
line = "darkblue",
summary = "royalblue") |>
fp_add_header(study = c("", "Study"),
deaths_steroid = c("Deaths", "(steroid)"),
deaths_placebo = c("Deaths", "(placebo)"),
OR = c("", "OR")) |>
fp_append_row(mean = 0.531,
lower = 0.386,
upper = 0.731,
study = "Summary",
OR = "0.53",
is.summary = TRUE) |>
fp_set_zebra_style("#EFEFEF")
Created on 2024-04-22 with reprex v2.1.0
Пожалуйста, используйте
library(forestplot)
вместоrequire(forestplot)
. Хотяrequire
просто возвращаетFALSE
, если пакет не найден,library
выдаст ошибку, которая могла быть задумана в этом случае.