Divide a metabolic rate amongst a group of individuals.
split_rate(tR = NULL, masses, b = 0.75, units = NULL)
tR | numeric. Total group metabolic rate. Single value or vector of multiple measurements of rate of same group. |
---|---|
masses | numeric. A vector of body masses of all individuals in group. |
b | numeric. Metabolic scaling exponent. |
units | string. Units of the rate. Extracted from |
Divides a group metabolic rate amongst individuals in the group, given body masses of each and a scaling exponent.
Take care to enter the correct scaling exponent (b
). This should be the
scaling exponent of absolute metabolic rates, not mass-specific, and is
usually (with exceptions) a positive value between 0.66 and 1. If your b
value is less than this, especially if it is less than 0.33, and
especially if it is negative, then it is likely a mass-specific scaling
exponent. In which case, the correct scaling exponent is the positive
difference of this value from 1. For example, an absolute scaling exponent
of 0.75 has a mass-specific scaling exponent of -0.25.
If, for whatever reason, you want to do a simple per-capita division of the
rate regardless of the body masses, enter b = 0
. Or just divide it by the
number of individuals.
Multiple rates can be entered, either as a vector or as part of a
respR::convert_rate
input for tR
, but these should be separate
measurements of rate of the same group. The output will contain separate
individual rate vectors for each group rate, and the intercept (a
) for
each.
Units can be entered, e.g. units = "mg/h"
, if the user wants to save
these in the output for reference, however they do not affect calculations
in any way. If a respR::convert_rate
object is used for the rate (see
below), the units are extracted from this and any other units
input
ignored.
NOTE: both negative and positive rates can be
entered. In respirometry experiments, rates are typically reported as
positive values. These can be entered as is. In the case of
respR::convert_rate
objects, extracted rates will typically be
negative, and these are left unchanged in the split_rate
function. In
respR
, to be mathematically consistent (since they represent oxygen
depletion), respiration rates are represented by negative slopes, and
therefore rates returned as negative. You can enter the rate as the usually
reported postive value, or as a negative: the function will work with
either. Returned rates and intercept a
will be identical in value, except
for the sign. In effect, if you enter a negative rate you can simply ignore
the signs for a
and individual rates in the output.
respR
integrationFor total rate (tR
) the function accepts
objects saved from the respR
(https://github.com/januarharianto/respR) convert_rate
function. In
this case, the rate(s) and units are automatically extracted. However, if
it contains a mass-specific rate (i.e. the rate has been adjusted in
respR::convert_rate
to a specific mass), no conversion is done and a
warning is returned. Only absolute, that is non-mass specific, respiration
rates should be divided in this way.
Output is a list
object containing 7 elements:
$a
= a
, the intercept(s) in the mass~rate power equation. Determined by
the function.
$b
= b
, the exponent in the mass~rate power equation. User entered.
$tR
= total group rate. User entered.
$masses
= specimen masses. User entered.
$units
= units of the rate. User entered or extracted from convert_rate
object. For information only, does not affect any calculations.
$indiv.rates
= Primary output of interest, the group rate divided between
individuals. This is a list
object with each element a vector of
individual rates associated with the tR
at the same position. The sum of
each vector should equal the associated tR
. Extract via
$indiv.rates[[1]]
etc.
$input
= origin of tR
and units
. Either manual
entry or
convert_rate
object
#> #> # split_rate # ------------------------- #> Rate Division Complete: #> #> Total Group Rate(s) ($tR, entered): #> [1] 500 #> #> Metabolic Scaling Exponent ($b, entered): #> [1] 0.75 #> #> Masses ($masses, entered): #> [1] 2 3 4 5 6 #> #> Intercept(s) ($a, calculated) : #> [1] 35.79844 #> #> Individual rates ($indiv.rates, calculated): #> [[1]] #> [1] 60.20557 81.60281 101.25329 119.69931 137.23902 #> #> Rate units: Undefined #>#> #> # split_rate # ------------------------- #> Rate Division Complete: #> #> Total Group Rate(s) ($tR, entered): #> [1] 500 550 600 #> #> Metabolic Scaling Exponent ($b, entered): #> [1] 0.75 #> #> Masses ($masses, entered): #> [1] 2 3 4 5 6 #> #> Intercept(s) ($a, calculated) : #> [1] 35.79844 39.37829 42.95813 #> #> Individual rates ($indiv.rates, calculated): #> [[1]] #> [1] 60.20557 81.60281 101.25329 119.69931 137.23902 #> #> [[2]] #> [1] 66.22612 89.76309 111.37862 131.66925 150.96292 #> #> [[3]] #> [1] 72.24668 97.92337 121.50395 143.63918 164.68682 #> #> Rate units: Undefined #>