Organize biodiversity data into the expected amount of different features under different management zones.
zones(..., zone_names = NULL, feature_names = NULL)
This function is used to store and organize data for use in a
problem() that has multiple management
zones. In all cases, the data for each zone is input as a separate
argument. The correct arguments depends on the type of planning unit data
used when building the conservation planning
data denoting the amount of each feature present assuming each
management zone. Data for each zone are specified in separate
arguments, and the data for each feature in a given zone are specified
in separate layers in a
raster::stack() object. Note that
all layers for a given zone must have
NA values in exactly the
with column names that correspond to the abundance or occurrence of
different features in each planning unit for each zone. Note that
these columns must not contain any
data.frame denoting the amount of each feature
in each zone. Following conventions used in Marxan,
data.frame objects should be supplied with the columns:
integer planning unit identifier.
integer feature identifier.
numeric amount of the feature in the
planning unit for a given zone.
data.frameobject correspond to a single zone. Also, note that data are not required for all combinations of planning units, features, and zones. The amounts of features in planning units assuming different management zones that are missing from the table are treated as zero.
#> ...zone_2 <- simulate_species(sim_pu_raster, 3)#> ...# create zones using two raster stack objects # each object corresponds to a different zone and each layer corresponds to # a different species z <- zones(zone_1, zone_2, zone_names = c("zone_1", "zone_2"), feature_names = c("feature_1", "feature_2", "feature_3")) print(z)#> Zones #> zones: zone_1, zone_2 (2 zones) #> features: feature_1, feature_2, feature_3 (3 features) #> data type: RasterStack# note that the do.call function can also be used to create a Zones object # this method for creating a Zones object can be helpful when there are many # management zones l <- list(zone_1, zone_2, zone_names = c("zone_1", "zone_2"), feature_names = c("feature_1", "feature_2", "feature_3")) z <- do.call(zones, l) print(z)#> Zones #> zones: zone_1, zone_2 (2 zones) #> features: feature_1, feature_2, feature_3 (3 features) #> data type: RasterStack# create zones using character vectors that represent the names of # fields (columns) in a data.frame or Spatial object that contain the amount # of each species expected different management zones z <- zones(c("spp1_zone1", "spp2_zone1"), c("spp1_zone2", "spp2_zone2"), c("spp1_zone3", "spp2_zone3"), zone_names = c("zone1", "zone2", "zone3"), feature_names = c("spp1", "spp2")) print(z)#> Zones #> zones: zone1, zone2, zone3 (3 zones) #> features: spp1, spp2 (2 features) #> data type: character