我感兴趣的是复制这个例子,下面是4个治疗组,并排,4列,而不是2列,如本例所示。我不知道该怎么做,我需要一些帮助。
install.packages("forestploter")
例子:
dt <- read.csv(system.file("extdata", "example_data.csv", package = "forestploter"))
# indent the subgroup if there is a number in the placebo column
dt$Subgroup <- ifelse(is.na(dt$Placebo),
dt$Subgroup,
paste0(" ", dt$Subgroup))
# NA to blank or NA will be transformed to carachter.
dt$`n` <- ifelse(is.na(dt$Treatment), "", dt$Treatment)
dt$`n ` <- ifelse(is.na(dt$Placebo), "", dt$Placebo)
# Add two blank column for CI
dt$`CVD outcome` <- paste(rep(" ", 20), collapse = " ")
dt$`COPD outcome` <- paste(rep(" ", 20), collapse = " ")
# Set-up theme
tm <- forest_theme(base_size = 10,
refline_lty = "solid",
ci_pch = c(15, 18),
ci_col = c("#377eb8", "#4daf4a"),
footnote_col = "blue",
legend_name = "Group",
legend_value = c("Trt 1", "Trt 2"),
vertline_lty = c("dashed", "dotted"),
vertline_col = c("#d6604d", "#bababa"))
p <- forest(dt[,c(1, 19, 21, 20, 22)],
est = list(dt$est_gp1,
dt$est_gp2,
dt$est_gp3,
dt$est_gp4),
lower = list(dt$low_gp1,
dt$low_gp2,
dt$low_gp3,
dt$low_gp4),
upper = list(dt$hi_gp1,
dt$hi_gp2,
dt$hi_gp3,
dt$hi_gp4),
ci_column = c(3, 5),
ref_line = 1,
vert_line = c(0.5, 2),
nudge_y = 0.2,
theme = tm)
plot(p)预期地块

任何帮助都是非常感谢的。谢谢。
发布于 2022-08-26 20:50:18
您可以为每个评估提供CI列。下面是一个演示:
dt <- read.csv(system.file("extdata", "example_data.csv", package = "forestploter"))
# indent the subgroup if there is a number in the placebo column
dt$Subgroup <- ifelse(is.na(dt$Placebo),
dt$Subgroup,
paste0(" ", dt$Subgroup))
# NA to blank or NA will be transformed to carachter.
dt$n1 <- ifelse(is.na(dt$Treatment), "", dt$Treatment)
dt$n2 <- ifelse(is.na(dt$Placebo), "", dt$Placebo)
dt$n3 <- ifelse(is.na(dt$Placebo), "", dt$Placebo)
dt$n4 <- ifelse(is.na(dt$Placebo), "", dt$Placebo)
# Add two blank column for CI
dt$Group1 <- paste(rep(" ", 20), collapse = " ")
dt$Group2 <- paste(rep(" ", 20), collapse = " ")
dt$Group3 <- paste(rep(" ", 20), collapse = " ")
dt$Group4 <- paste(rep(" ", 20), collapse = " ")
p <- forest(dt[,c("Subgroup", as.vector(outer(c("n", "Group"), 1:4, paste0)))],
est = list(dt$est_gp1,
dt$est_gp2,
dt$est_gp3,
dt$est_gp4),
lower = list(dt$low_gp1,
dt$low_gp2,
dt$low_gp3,
dt$low_gp4),
upper = list(dt$hi_gp1,
dt$hi_gp2,
dt$hi_gp3,
dt$hi_gp4),
ci_column = c(3, 5, 7, 9),
ref_line = 1)
plot(p)https://stackoverflow.com/questions/73302049
复制相似问题