Divide a metabolic rate amongst a group of individuals.

split_rate(tR = NULL, masses, b = 0.75, units = NULL)

Arguments

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 convert_rate object or can be entered by the user. For information only, does not affect any calculations.

Details

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.

Sign of the rate

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 integration

For 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

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

Examples

# Single group rate split_rate(tR = 500, masses = c(2, 3, 4, 5, 6), b = 0.75)
#> #> # 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 #>
# Multiple group rate split_rate(tR = c(500,550,600), masses = c(2, 3, 4, 5, 6), b = 0.75)
#> #> # 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 #>