Learn R Programming

samc (version 1.0.4)

distribution: Calculate distribution metrics

Description

Calculate the probability of finding an individual at a given location at a specific time.

Usage

distribution(samc, occ, origin, dest, time)

# S4 method for samc,missing,missing,missing,numeric distribution(samc, time)

# S4 method for samc,missing,numeric,missing,numeric distribution(samc, origin, time)

# S4 method for samc,missing,missing,numeric,numeric distribution(samc, dest, time)

# S4 method for samc,missing,numeric,numeric,numeric distribution(samc, origin, dest, time)

# S4 method for samc,RasterLayer,missing,missing,numeric distribution(samc, occ, time)

# S4 method for samc,matrix,missing,missing,numeric distribution(samc, occ, time)

Arguments

samc

A samc-class object. This should be output from the samc function.

occ

A RasterLayer-class or matrix. The input type must match the input type used to create the samc-class object, and must have the same properties as the rest of the landscape data. See the check function for more details.

origin

A positive integer representing a cell in the landscape, excluding NA cells. Corresponds to row i of matrix P in the samc-class object.

dest

A positive integer representing a cell in the landscape, excluding NA cells. Corresponds to column j of matrix P in the samc-class object.

time

A positive integer representing time steps

Value

A vector

Performance

Any relevant performance information about this function can be found in the performance vignette: vignette("performance", package = "samc")

Details

\(Q^t\)

  • distribution(samc, time)

    The result is a matrix where element (i,j) is the probability of being at location j after t time steps if starting at location i.

    The returned matrix will always be dense and cannot be optimized. Must enable override to use.

  • distribution(samc, origin, time)

    The result is a vector where element j is the probability of being at location j after t time steps if starting at a given origin.

  • distribution(samc, dest, time)

    The result is a vector where element i is the probability of being at a given destination after t time steps if starting at location i.

  • distribution(samc, origin, dest, time)

    The result is a numeric value that is the probability of being at a given destination after t time steps when beginning at a given origin.

\(\psi^TQ^t\)

  • distribution(samc, occ, time)

    The result is a vector where each element corresponds to a cell in the landscape, and can be mapped back to the landscape using the map function. Element i is the unconditional probability of finding an individual (or expected number of individuals) in location i after t time steps.

Examples

Run this code
# NOT RUN {
# "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)
check(res_data, occ_data)


# 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. If using RasterLayers, the latlon parameter must be set.
samc_obj <- samc(res_data, abs_data, tr_fun = function(x) 1/mean(x))


# 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)
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)
# }

Run the code above in your browser using DataLab