drop_levels function

Drop unused factor levels to predict from unseen data

Drop unused factor levels to predict from unseen data

Drops unseen factor levels in newdata for which predictions are required from a lm or multinom model fit.

drop_levels(fit, newdata)

Arguments

  • fit: A fitted lm or multinom model.
  • newdata: A data.frame containing variables with which to predict.

Returns

A data.frame like newdata with unseen factor levels replaced by NA.

Note

This function is so far untested for models other than lm or multinom, though it may still work for other classes.

Examples

data(ais) hema <- as.matrix(ais[,3:7]) BMI <- ais$BMI sport <- ais$sport sub <- ais$sport != "Row" # Fit a linear model mod <- lm(hema ~ BMI + sport, data=ais, subset=sub) # Make predictions pred1 <- try(predict(mod, newdata=ais), silent=TRUE) inherits(pred1, "try-error") #TRUE # Remove unused levels and try again pred2 <- try(predict(mod, newdata=drop_levels(mod, ais)), silent=TRUE) inherits(pred2, "try-error") #FALSE anyNA(pred2) #TRUE

See Also

drop_constants

Author(s)

Keefe Murphy - <keefe.murphy@mu.ie >

  • Maintainer: Keefe Murphy
  • License: GPL (>= 3)
  • Last published: 2025-03-05