Текущая версия ggforest
на моем компьютере не позволяет мне выбирать переменные, которые будут представлены на графике. Однако другой пакет forestmodel::forest_model
имеет covariates =
, который должен позволять пользователям выбирать переменные. Однако текущая версия forestmodel
может выполнить это неправильно, как вы можете видеть на следующем графике:
colon <- within(colon, {
sex <- factor(sex, labels = c("female", "male"))
differ <- factor(differ, labels = c("well", "moderate", "poor"))
extent <- factor(extent, labels = c("submuc.", "muscle", "serosa", "contig."))
})
bigmodel <-
coxph(Surv(time, status) ~ sex + rx + adhere + differ + extent + node4,
data = colon )
forest_model(bigmodel, covariates = c("sex", "rx"))
![enter image description here](https://i.stack.imgur.com/6KgRy.png)
Возможно,быть оригинальным автором. На каком-то этапе я смог сгенерировать что-то подобное с небольшой модификацией предыдущей версии функции. Однако после переустановки обновленного пакета он больше не работает.
![enter image description here](https://i.stack.imgur.com/a8XrL.png)
РЕДАКТИРОВАТЬ
Другой подход был бы гибким. Это занимает два шага. Во-первых, соберите информацию о модели (я использую broom::tidy
здесь, но вы можете использовать другие методы. Во-вторых, используйте forestplot::forest_plot
для создания графика. Опять же, вы также можете использовать другой пакет мета-анализа для этого.
Давайте продолжим свыше bigmodel
library(forestplot)
library(tidyverse)
# Save model information
df <- broom::tidy(bigmodel, exponentiate = TRUE)
# pick up the first 4 values
df1 <- df[1:4, ] %>%
transmute(
HR = round(estimate, 2),
low = conf.low,
high = conf.high)
row_names <- cbind(c("Name", "Sex", "Lev", "Lev + 5FU", "adhere"),
c("HR", df1$HR))
df1 <- rbind(rep(NA, 4), df1)
forestplot(labeltext = row_names,
df1[,c("HR", "low", "high")],
is.summary=c(FALSE, FALSE, FALSE),
zero = 1,
xlog = TRUE)
Это дает следующий график. Для создания удовлетворительного графика может потребоваться немного больше обучения, но вы относительно контролируете.
![enter image description here](https://i.stack.imgur.com/hsajO.png)