Calculates the expected time to absorption
survival(samc, occ) # S4 method for samc,missing survival(samc) # S4 method for samc,ANY survival(samc, occ)
samc | A |
---|---|
occ | The initial state \(\psi\) of the Markov chain. If the |
See Details
\(z=(I-Q)^{-1}{\cdot}1=F{\cdot}1\)
survival(samc)
The result is a vector \(\mathbf{v}\) where \(\mathbf{v}_i\) is the expected time to absorption if starting at transient state \(\mathit{i}\).
If the samc-class object was created using matrix or RasterLayer maps, then
vector \(\mathbf{v}\) can be mapped to a RasterLayer using the
map
function.
\(\psi^Tz\)
survival(samc, occ)
The result is a numeric that is the expected time to absorption given an initial state \(\psi\).
Any relevant performance information about this function can be found in the
performance vignette: vignette("performance", package = "samc")
# "Load" the data. In this case we are using data built into the package. # In practice, users will likely load raster data using the raster() function # from the raster package. res_data <- samc::ex_res_data abs_data <- samc::ex_abs_data occ_data <- samc::ex_occ_data # Make sure our data meets the basic input requirements of the package using # the check() function. check(res_data, abs_data)#> [1] TRUE#> [1] TRUE# Setup the details for our transition function tr <- list(fun = function(x) 1/mean(x), # Function for calculating transition probabilities dir = 8, # Directions of the transitions. Either 4 or 8. sym = TRUE) # Is the function symmetric? # Create a `samc-class` object with the resistance and absorption data using # the samc() function. We use the recipricol of the arithmetic mean for # calculating the transition matrix. Note, the input data here are matrices, # not RasterLayers. samc_obj <- samc(res_data, abs_data, tr_args = tr) # Convert the occupancy data to probability of occurrence occ_prob_data <- occ_data / sum(occ_data, na.rm = TRUE) # Calculate short- and long-term metrics using the analytical functions short_mort <- mortality(samc_obj, occ_prob_data, time = 50) short_dist <- distribution(samc_obj, origin = 3, time = 50) long_disp <- dispersal(samc_obj, occ_prob_data)#> #> Cached diagonal not found. #> Performing setup. This can take several minutes... Complete. #> Calculating matrix inverse diagonal... #> Complete #> Diagonal has been cached. Continuing with metric calculation...visit <- visitation(samc_obj, dest = 4) surv <- survival(samc_obj) # Use the map() function to turn vector results into RasterLayer objects. short_mort_map <- map(samc_obj, short_mort) short_dist_map <- map(samc_obj, short_dist) long_disp_map <- map(samc_obj, long_disp) visit_map <- map(samc_obj, visit) surv_map <- map(samc_obj, surv)