Multiple visreg
objects can be bundled together in an object of class visregList
; for example, when you submit visreg(fit)
, you get a visregList
, one visreg
object for each predictor in the model. visregList
s can also be used for handling models with multiple outcomes.
For example, suppose we fit a multinomial regression model using the nnet
package:
library(nnet)
airquality$Heat <- cut(airquality$Temp,3,labels=c("Cool","Mild","Hot"))
fit <- multinom(Heat ~ Wind + Ozone, airquality)
By default, visreg(fit, "Ozone")
would create three separate plots, one for each level of the outcome, Heat
. By specifying collapse=TRUE
, we collapse the list down to a single visreg
object which can be plotted using the methods described here. For example:
visreg(fit, "Ozone", collapse=TRUE, overlay=TRUE, ylab="Probability",
ylim=c(0,1), partial=FALSE, rug=2)
Another example is quantile regression using the quantreg
package. Here, there is only one outcome, but we could be interested in modeling several different quantiles. The collapse
option is used similarly here:
library(quantreg)
fit <- rq(Ozone ~ Wind + Temp, tau=c(.25, .5, .75), data=airquality)
v <- visreg(fit, "Wind", overlay=TRUE, collapse=TRUE)
NOTE: quantreg
does not return standand errors if you specify multiple quantiles of interest. To obtain them, you must construct the visregList
manually:
fit1 <- rq(Ozone ~ Wind + Temp, tau=.25, data=airquality)
fit2 <- rq(Ozone ~ Wind + Temp, tau=.5, data=airquality)
fit3 <- rq(Ozone ~ Wind + Temp, tau=.75, data=airquality)
v <- visregList(visreg(fit1, "Wind", plot=FALSE),
visreg(fit2, "Wind", plot=FALSE),
visreg(fit3, "Wind", plot=FALSE),
labels=c("25%", "50%", "75%"), collapse=TRUE)
plot(v, ylab="Ozone", gg=TRUE)
# Loading required namespace: ggplot2
Notice the use of the labels
argument to label the elements of the list.