我想使用visreg在GAM中绘制变量的响应。我使用visreg的gg = TRUE功能来指定ggplot主题元素。我关闭了部分,并设置rug = TRUE。但是,我在x和y轴上都得到了地毯(而不仅仅是x轴)。我不确定如何在保持x轴地毯的同时关闭y轴地毯。这是我用于绘图的代码:
library(visreg)
visreg(gam, "OISST_Temp_new", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
当我运行这段代码时,我会看到以下图:
gam
是一个mgcv::gam
对象,OISST_Temp_new
是我想形象化的响应。
当我指定gg = FALSE并仅在有rug = TRUE
和partial = FALSE
没有ggplot元素的情况下绘制响应时,我得到正确的x轴地毯。任何帮助将不胜感激!
您可以将ggplot
对象内的相关图层设置为NULL
。下面是该gam
函数的示例。
library(mgcv)
eg <- gamSim(2,n=n,scale=.5)
b5<-gam(y~s(x) + s(z),data=eg$data)
v <- visreg(b5, "x", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
v$layers[[3]] <- NULL
v
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句