使用visreg控制构面列号

时间:2019-04-28 08:25:05

标签: r ggplot2 plot visreg

虽然我很喜欢使用包visreg来可视化我的回归,但是我还无法控制一件事:刻面时的列数。例如,请参见以下逐条曲线的广义加性回归:

library(dplyr)
library(mgcv)
library(visreg)
data(airquality)
test <- gam(
    Ozone ~ s(Temp, by = Month),
    data = airquality %>% mutate(Month = as.factor(Month))
)

如果我愿意

visreg(test, xvar = "Temp", by = "Month", gg = TRUE)

我得到了1行5列曲线。

enter image description here

很有趣,如果我取出gg = TRUE,它变成2行。但是无论哪种情况,我都希望能够在刻面时控制列和行的数量。到目前为止,通过操纵visreg的省略号参数或直接尝试操纵所得的ggplot对象,我一直没有成功。

例如,如果我想对visreg进行gg = TRUE的三行两列操作,那是我最好的机会-还是建议使用另一个软件包?

1 个答案:

答案 0 :(得分:3)

您只需修改ggplot对象并以通常的方式添加facet_wrap

p <- visreg(test, xvar = "Temp", by = "Month", gg = TRUE)
p + facet_wrap(vars(Month), nrow = 3)

enter image description here

您实际上不需要首先创建p,这将产生相同的结果:

visreg(test, xvar = "Temp", by = "Month", gg = TRUE) +
  facet_wrap(vars(Month), nrow = 3)