R/get_response_curves.R
get_response_curves.Rd
Generates and returns the data required to plot the response curves of a model fitted with rf()
, rf_repeat()
, or rf_spatial()
.
get_response_curves(
model = NULL,
variables = NULL,
quantiles = c(0.1, 0.5, 0.9),
grid.resolution = 200,
verbose = TRUE
)
A model fitted with rf()
, rf_repeat()
, or rf_spatial()
.
Character vector, names of predictors to plot. If NULL
, the most important variables (importance higher than the median) in model
are selected. Default: NULL
.
Numeric vector with values between 0 and 1, argument probs
of quantile. Quantiles to set the other variables to. Default: c(0.1, 0.5, 0.9)
Integer between 20 and 500. Resolution of the plotted curve Default: 100
Logical, if TRUE the plot is printed. Default: TRUE
A data frame with the following columns:
response
: Predicted values of the response, obtained with stats::predict()
.
predictor
: Values of the given predictor.
quantile
: Grouping column, values of the quantiles at which the other predictors are set to generate the response curve.
model
: Model number, only relevant if the model was produced with rf_repeat()
.
predictor.name
: Grouping variable, name of the predictor.
response.name
: Grouping variable, name of the response variable.
All variables that are not plotted in a particular response curve are set to the values of their respective quantiles, and the response curve for each one of these quantiles is shown in the plot.
if(interactive()){
#loading example data
data(plant_richness_df)
#fitting random forest model
out <- rf(
data = plant_richness_df,
dependent.variable.name = "richness_species_vascular",
predictor.variable.names = colnames(plant_richness_df)[5:21],
n.cores = 1,
verbose = FALSE
)
#getting data frame with response curves
p <- get_response_curves(out)
head(p)
}