Plots partial dependence functions (i.e., marginal effects) using lattice graphics.

plotPartial(object, ...)

# S3 method for ice
plotPartial(object, center = FALSE, plot.pdp = TRUE,
  pdp.col = "red2", pdp.lwd = 2, pdp.lty = 1, rug = FALSE,
  train = NULL, alpha = 1, ...)

# S3 method for cice
plotPartial(object, plot.pdp = TRUE, pdp.col = "red2",
  pdp.lwd = 2, pdp.lty = 1, rug = FALSE, train = NULL, alpha = 1,
  ...)

# S3 method for partial
plotPartial(object, center = FALSE, plot.pdp = TRUE,
  pdp.col = "red2", pdp.lwd = 2, pdp.lty = 1, smooth = FALSE,
  rug = FALSE, chull = FALSE, levelplot = TRUE, contour = FALSE,
  contour.color = "white", col.regions = NULL, palette = c("viridis",
  "magma", "inferno", "plasma", "cividis"), alpha = 1, number = 4,
  overlap = 0.1, train = NULL, ...)

Arguments

object

An object that inherits from the "partial" class.

...

Additional optional arguments to be passed onto dotplot, levelplot, xyplot, or wireframe.

center

Logical indicating whether or not to produce centered ICE curves (c-ICE curves). Only useful when object represents a set of ICE curves; see partial for details. Default is FALSE.

plot.pdp

Logical indicating whether or not to plot the partial dependence function on top of the ICE curves. Default is TRUE.

pdp.col

Character string specifying the color to use for the partial dependence function when plot.pdp = TRUE. Default is "red".

pdp.lwd

Integer specifying the line width to use for the partial dependence function when plot.pdp = TRUE. Default is 1. See par for more details.

pdp.lty

Integer or character string specifying the line type to use for the partial dependence function when plot.pdp = TRUE. Default is 1. See par for more details.

rug

Logical indicating whether or not to include rug marks on the predictor axes. Default is FALSE.

train

Data frame containing the original training data. Only required if rug = TRUE or chull = TRUE.

alpha

Numeric value in [0, 1] specifying the opacity alpha ( most useful when plotting ICE/c-ICE curves). Default is 1 (i.e., no transparency).

smooth

Logical indicating whether or not to overlay a LOESS smooth. Default is FALSE.

chull

Logical indicating whether or not to restrict the first two variables in pred.var to lie within the convex hull of their training values; this affects pred.grid. Default is FALSE.

levelplot

Logical indicating whether or not to use a false color level plot (TRUE) or a 3-D surface (FALSE). Default is TRUE.

contour

Logical indicating whether or not to add contour lines to the level plot. Only used when levelplot = TRUE. Default is FALSE.

contour.color

Character string specifying the color to use for the contour lines when contour = TRUE. Default is "white".

col.regions

Color vector to be used for trivariate displays. If levelplot is TRUE, defaults to the wonderful Matplotlib 'viridis' color map provided by the viridis package. See viridis for details.

palette

Character string indicating the colormap option to use. Five options are available: "viridis" (the default), "magma", "inferno", "plasma", and "cividis".

number

Integer specifying the number of conditional intervals to use for the continuous panel variables. See co.intervals and equal.count for further details.

overlap

The fraction of overlap of the conditioning variables. See co.intervals and equal.count for further details.

Examples

# NOT RUN {
#
# Regression example (requires randomForest package to run)
#

# Load required packages
library(ggplot2)  # required to use autoplot
library(randomForest)

# Fit a random forest to the Boston housing data
data (boston)  # load the boston housing data
set.seed(101)  # for reproducibility
boston.rf <- randomForest(cmedv ~ ., data = boston)

# Partial dependence of cmedv on lstat
boston.rf %>%
  partial(pred.var = "lstat") %>%
  plotPartial(rug = TRUE, train = boston)

# Partial dependence of cmedv on lstat and rm
boston.rf %>%
  partial(pred.var = c("lstat", "rm"), chull = TRUE, progress = "text") %>%
  plotPartial(contour = TRUE, legend.title = "rm")

# ICE curves and c-ICE curves
age.ice <- partial(boston.rf, pred.var = "lstat", ice = TRUE)
p1 <- plotPartial(age.ice, alpha = 0.5)
p2 <- plotPartial(age.ice, center = TRUE, alpha = 0.5)
grid.arrange(p1, p2, ncol = 2)
# }