Here’s an example of modifying the plot that’s created in the Examples in the plot.vsel()
documentation.
library(projpred)
dat_gauss <- data.frame(y = df_gaussian$y, df_gaussian$x)
# The `stanreg` fit which will be used as the reference model (with small
# values for `chains` and `iter`, but only for technical reasons in this
# example; this is not recommended in general):
fit <- rstanarm::stan_glm(
y ~ X1 + X2 + X3 + X4 + X5, family = gaussian(), data = dat_gauss,
QR = TRUE, chains = 2, iter = 500, refresh = 0, seed = 9876
)
# Run varsel() (here without cross-validation, with L1 search, and with small
# values for `nterms_max` and `nclusters_pred`, but only for the sake of
# speed in this example; this is not recommended in general):
vs <- varsel(fit, method = "L1", nterms_max = 3, nclusters_pred = 10,
seed = 5555)
plot(vs)
That makes this plot, which I haven’t customized yet:
You can then use some functions from the ggplot2 package to modify the overall title, axis titles, the tick mark labels, etc.:
library(ggplot2)
p <- plot(vs)
p +
labs(
# change overal plot titles and x and y axis titles/labels
title = "My title",
subtitle = "My subtitle",
x = "My x-axis",
y = "My y-axis"
) +
scale_x_continuous(
# change x-axis tick mark labels
labels = c("A", "B", "C", "D")
)
That modifies the plot to this:
I think the same thing should work for the other plots too. If you need to modify y axis tick mark labels use scale_y_continuous
. And that labels
vector supplied to scale_x_continuous
or scale_y_continuous
needs to be the same length as the number of tick marks (“breaks”), which might be different in the other plots.
Does that work for your use case?