我正在尝试使用森林图,并且想要包含一个冗长的脚注(三行文字)。我在底部没有足够的空间,并且我认为par()
选项没有任何作用。这是小工具中给出的示例,以及我尝试做脚注的:
library(forestplot)
# Cochrane data from the 'rmeta'-package
cochrane_from_rmeta <-
structure(list(
mean = c(NA, NA, 0.578, 0.165, 0.246, 0.700, 0.348, 0.139, 1.017, NA, 0.531),
lower = c(NA, NA, 0.372, 0.018, 0.072, 0.333, 0.083, 0.016, 0.365, NA, 0.386),
upper = c(NA, NA, 0.898, 1.517, 0.833, 1.474, 1.455, 1.209, 2.831, NA, 0.731)),
.Names = c("mean", "lower", "upper"),
row.names = c(NA, -11L),
class = "data.frame")
tabletext<-cbind(
c("", "Study", "Auckland", "Block",
"Doran", "Gamsu", "Morrison", "Papageorgiou",
"Tauesch", NA, "Summary"),
c("Deaths", "(steroid)", "36", "1",
"4", "14", "3", "1",
"8", NA, NA),
c("Deaths", "(placebo)", "60", "5",
"11", "20", "7", "7",
"10", NA, NA),
c("", "OR", "0.58", "0.16",
"0.25", "0.70", "0.35", "0.14",
"1.02", NA, "0.53"))
dev.new()
par(mar = c(4, 1, 1, 1))
forestplot(tabletext,
cochrane_from_rmeta,new_page = TRUE,
is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE),
clip=c(0.1,2.5),
xlog=TRUE,
col=fpColors(box="royalblue",line="darkblue", summary="royalblue"))
grid.text('* Adjusted for demographic & baseline variables,blur blur blur',
x = unit(.43, 'npc'),
y = unit(1, 'lines'))
关于如何创建更多空间的任何建议?
谢谢!
答案 0 :(得分:1)
我找到了一个解决方案,尽管我首先可以通过主题的ggplot选项更改边距:
+ theme(plot.margin = margin(2, 2, 2, 2, "cm"))
但是无法访问forestplot
中的绘图对象,因此我仔细考虑了forestplot
函数的选项,并且有一个参数mar
,它以单位为参数,以下解决方案对我有效:
forestplot(tabletext,
cochrane_from_rmeta,new_page = TRUE,
is.summary=c(TRUE, TRUE, rep(FALSE,8), TRUE),
clip=c(0.1, 2.5),
xlog=TRUE,
mar = unit(rep(10, times = 4), "mm"),
col=fpColors(box="royalblue",
line="darkblue",
summary="royalblue"))
grid.text('* Adjusted for demographic & baseline variables,blur blur blur',
x = unit(.43, 'npc'),
y = unit(1, 'lines'))