Diet estimation objective function

Share:

Description

The utility function diet_obj_func computes the distance between an observed fatty acid signature and a modeled signature computed as a mixture of mean prey signatures.

Usage

1
diet_obj_func(diet, obs_sig, mean_sigs, dist_meas = 1, gamma = 1)

Arguments

diet

A numeric vector of diet composition.

obs_sig

A numeric vector containing an observed fatty acid signature.

mean_sigs

A numeric matrix of the mean fatty acid signature for each prey type in the prey library, in column-major format.

dist_meas

An integer indicator of the distance measure to compute. Default value 1.

gamma

The power parameter of the chi-square distance measure. Default value 1.

Value

The distance between the observed and modeled signatures.

Details

This is an internal utility function. Consequently, to increase execution speed, no numeric error checking is performed within diet_obj_func. Rather, error checking is presumed to have occurred at a higher level in the calling sequence.

The argument obs_sig is presumed to be a fatty acid signature that has been prepared for analysis, which is best accomplished by a call to the function prep_sig with the predator data frame. Similarly, the contents of mean_sig should be mean signatures computed from signatures that were prepared for analysis by call to the function prep_sig.

The argument diet is presumed to contain non-negative proportions that sum to 1.0.

The arguments dist_meas and gamma must be compatible with the function dist_between_2_sigs.

Please refer to the vignette and documentation for the functions prep_sig, sig_scale, and dist_between_2_sigs for additional details.

diet_obj_func models a predator signature as a mixture of the mean prey-type signatures, with the diet proportions as the mixture proportions, returning the distance between the observed and modeled signatures. The diet composition of a predator is estimated by minimizing this function with respect to the diet using the function Rsolnp::solnp.

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.