Search code examples
rraster

Error when using a saved model for predicting to raster in R


save(ranger_tree1000, file="FinalModels/ranger.Rdata", overwrite=T)

load(file = "C:/Users/bhauptman/Box/Ch2/R/FinalModels/ranger.Rdata")

r_ranger <- raster::predict(model = ranger, object = Rstack)

But I get the following error:

Error in UseMethod("predict") : 
      no applicable method for 'predict' applied to an object of class "function"

Solution

  • The model is called ranger_tree1000, not ranger, so you should be able to do:

    r_ranger <- raster::predict(model = ranger_tree1000, object = Rstack)
    

    Using save is rather outdated and makes for mysterious code, as you do not know the names of the objects you are loading. It is much better to use saveRDS and readRDS like this

    saveRDS(ranger_tree1000, "FinalModels/ranger.Rds")
    ranger <- readRDS("FinalModels/ranger.Rds")
    

    (and note that neither save, nor saveRDS has an argument called overwrite)