根据问题,我想在生成的森林图中的任意位置添加文本注释:
library(forestplot)
library(tidyr)
cohort <- data.frame(Age = c(43, 39, 34, 55, 70, 59, 44, 83, 76, 44,
75, 60, 62, 50, 44, 40, 41, 42, 37, 35, 55, 46),
Group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), levels = c("1","2"), class = "factor"))
age.lm <- lm(Age ~ Group, data = cohort)
age.data <- summary(age.lm)$coefficients[2,]
age.data <- rbind(c(0,0,0,1,"Group 1", "n=15"),
c(age.data[1], age.data[1]-age.data[2]*1.95,
age.data[1]+age.data[2]*1.95, age.data[4], "Group 2", "n=7"))
colnames(age.data) <- c("mean","lower","upper","p-val","labeltext","numbers")
age.data <- data.frame(age.data)
age.data$mean <- as.numeric(age.data$mean)
age.data$lower <- as.numeric(age.data$lower)
age.data$upper <- as.numeric(age.data$upper)
age.plot <- forestplot(age.data,
labeltext = c(labeltext,numbers),
boxsize = 0.1,
xlog = FALSE,
clip=c(-20,20),
xticks=c(-20,-10,0,10,20),
txt_gp = fpTxtGp(ticks=gpar(cex=1)),
align=c("l","c","l"))
print(age.plot)
这会生成以下图: 但是假设我想添加不属于森林图一部分的文本,例如:
有没有办法通过添加到森林图来做到这一点? R/forestplot 使用网格图形,但 text("Text", location) 不起作用。
当然,我可以使用图像编辑器添加所有内容,但这会因为需要注释很多内容而变得乏味,而且我更喜欢使用适合森林图的文本来执行此操作(这将使更容易排列我需要添加的内容)
我问的原因是因为我有一个两组比较森林图,效果大小/贝塔值无法自动添加,所以我需要稍后添加它们。