簡體   English   中英

在 R 中繪制 GAM 響應時,visreg 在 y 軸上顯示地毯

[英]visreg displaying rug on y axis when plotting GAM response in R

我想 plot 使用 visreg 的 GAM 中的變量的響應。 我正在使用 visreg 的 gg=TRUE 功能來指定 ggplot 主題元素。 我關閉了部分並設置了 rug = TRUE。 但是,我在 x 和 y 軸(而不是 x 軸)上都得到了地毯。 我不知道如何在保留 x 軸地毯的同時關閉 y 軸地毯。 這是我用於 plot 的代碼:

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"))

當我運行這段代碼時,我得到了這個數字:

在此處輸入圖像描述

gammgcv::gam object 和OISST_Temp_new是我想可視化的響應。

當我指定 gg=FALSE 並且僅指定 plot 時, rug = TRUEpartial = FALSE的響應沒有任何 ggplot 元素,我得到了正確的 x 軸地毯。 任何幫助將不勝感激!

您可以將ggplot object 中的相關層設置為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

在此處輸入圖像描述

或者,您可以將geom_rug(sides="b")添加到 visreg plot 以實現此目的,只需設置partial=Frug=F

visreg(gam, "OISST_Temp_new", partial = F, rug = F, 
line = list(col = "black"),fill = list(fill ="lightblue"), gg=T)+
  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"))+
geom_rug(sides="b")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM