calc_b | R Documentation |
For most organisms, metabolic rate does not scale linearly, but rather according to a power function: MO2 = b0 * M^b
. This function estimates the scaling coefficient, b
, and normalization constant, b0
, given MO2s from different sized individuals.
calc_b(mass, MO2, method = "nls", plot = "linear", b0_start = 1)
mass |
a vector of animal masses. |
MO2 |
a vector of metabolic rates. |
method |
a string defining which method of calculating scaling coefficients to use. Default is "nls", which utilizes a nonlinear least squares regression. If this does not fit your data well, "lm" may also be used, which calculates a linear regression of log10( |
plot |
a string defining what kind of plot to display. "linear" for linear axes, "log" for log10-scale axes, and "none" for no plot. Default is "linear". |
b0_start |
a single numeric value as the starting point for |
MO2 = b0 * M^b
where b0
is species-specific normalization constant, M
is mass and b
is the scaling coefficient.
Returns a list of 1) the b
value, 2) a vector of b0
values corresponding to the input MO2
values, and 3) an average b0
that can be used for summarizing the relationship with an equation.
Matthew A. Birk, matthewabirk@gmail.com
scale_MO2
, calc_MO2
# Simple example
mass <- c(1, 10, 100, 1000, 40, 4, 400, 60, 2, 742, 266, 983) # made up values
MO2 <- mass ^ 0.65 + rnorm(n = length(mass)) # make up some data
calc_b(mass = mass, MO2 = MO2)
# How about some mass-specific MO2s?
msMO2 <- mass ^ -0.25 + rnorm(n = length(mass), sd = 0.05)
calc_b(mass = mass, MO2 = msMO2)
calc_b(mass = mass, MO2 = msMO2, plot = "log")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.