3

虽然我喜欢使用包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 列的逐条曲线因子。

在此处输入图像描述

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

因此,例如,如果我想visreg使用gg = TRUE3 行 2 列,那么我最好的机会是什么——或者是否有其他推荐的包?

4

1 回答 1

4

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

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

在此处输入图像描述

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

visreg(test, xvar = "Temp", by = "Month", gg = TRUE) +
  facet_wrap(vars(Month), nrow = 3)
于 2019-04-28T08:35:45.830 回答