This method for recipes::recipe()
handles the
case when x
is an sf::sf object, as commonly
used in Species Distribution Model, and generates a spatial_recipe
.
Arguments
- x
An sf::sf data frame.
- ...
parameters to be passed to
recipes::recipe()
Value
An object of class spatial_recipe
, which is a derived version of
recipes::recipe()
, see
the manpage for recipes::recipe()
for details.
Details
recipes::recipe()
are not natively compatible with sf::sf objects. The problem is that
the geometry
column of sf::sf objects is a list, which is incompatible with
the translation of formulae in recipes::recipe()
. This method strips the geometry
column from the data.frame and replaces it with a simple X
and Y
columns
before any further operations, thus allowing
the usual processing by recipes::recipe()
to succeed (X
and Y
are give the role
of coords in a spatial recipe). When prepping and baking a spatial_recipe
,
if a data.frame or tibble without coordinates is used as training
or
new_data
, dummy X
and Y
columns
are generated and filled with NAs.
NOTE that order matters! You need to use the syntax
recipe(x=sf_obj, formula=class~.)
for the method to successfully detect
the sf::sf object. Starting with formula
will fail.