rlp: Computes the standard weight equation using the...

View source: R/rlp.R

rlpR Documentation

Computes the standard weight equation using the regression-line-percentile method.

Description

Computes the standard weight equation using the regression-line-percentile (RLP) method when given log_{10}(a) and b values from (log-transformed) length-weight regressions fit to several populations.

Usage

rlp(log.a, b, min, max, w = 10, qtype = 8, probs = 0.75, digits = NULL)

## S3 method for class 'rlp'
plot(
  x,
  what = c("both", "raw", "log"),
  col.pop = "rainbow",
  lwd.pop = 1,
  lty.pop = 1,
  order.pop = TRUE,
  col.Ws = "black",
  lwd.Ws = 3,
  lty.Ws = 1,
  ...
)

## S3 method for class 'rlp'
coef(object, ...)

## S3 method for class 'rlp'
summary(object, ...)

## S3 method for class 'rlp'
predict(object, ...)

## S3 method for class 'rlp'
anova(object, ...)

## S3 method for class 'rlp'
fitPlot(
  object,
  pch = 16,
  col.pt = "black",
  col.Ws = "red",
  lwd.Ws = 3,
  lty.Ws = 1,
  xlab = "log10(midpt Length)",
  ylab = paste0("log10(", 100 * object$prob, " Percentile of Predicted Weight)"),
  main = "RLP Equation Fit",
  ...
)

Arguments

log.a

A numeric vector that contains the log_{10}(a) values for the population of length-weight regression equations.

b

A numeric vector that contains the b values for the population of length-weight regression equations

min

A number that indicates the midpoint value of the smallest X-mm length category.

max

A number that indicates the midpoint value of the largest X-mm length category.

w

A number that indicates the widths for which to create length categories.

qtype

Type of quantile method to use. See description of types of quantile calculation methods in quantile.

probs

A number that indicates the probability of the quantile. Must be between 0 and 1.

digits

Number of digits to round predicted weights. If NULL (default), no rounding will be used.

x, object

An object saved from the rlp call (i.e., of class rlp).

what

A string that indicates the type of plot to produce. See details.

col.pop

A string that indicates the type of color or palette to use for the population of length-weight regression lines. See details.

lwd.pop

A numeric that indicates the width of the line to use for the population of length-weight regression lines.

lty.pop

A numeric that indicates the type of line to use for the population of length-weight regression lines.

order.pop

A logical that indicates whether the populations should be plotted from the smallest to largest weight in the initial length category. See details.

col.Ws

A string that indicates the type of color to use for the standard length-weight regression line.

lwd.Ws

A numeric that indicates the width of the line to use for the standard length-weight regression line.

lty.Ws

A numeric that indicates the type of line to use for the standard length-weight regression line.

...

Additional arguments for methods.

pch

A single numeric that indicates what plotting character codes should be used for the points in fitPlot.

col.pt

A string used to indicate the color of the plotted points.

xlab

A label for the x-axis of fitPlot.

ylab

A label for the y-axis of fitPlot.

main

A label for the main title of fitPlot.

Details

The main function follows the steps of the regression-line-percentile (RLP) method detailed in Murphy et al. (1990). In summary, the given log_{10}(a) and b values are used to predict a weight at the midpoint of each length class defined by w (e.g., 10 mm length classes if w=10) for each population; the predicted weight at the probth percentile (wq) across all populations is then identified; and a linear regression equation is fit to the log_{10}(wq) and log_{10}(midpoint length) data.

Note that log_{10}(a) and b must be from the regression of log_{10}(W) on log_{10}(L) where W is measured in grams and L is the length (traditionally total length) measured in mm.

It appears that Murphy et al. (1990) used qtype=6 in their SAS program.

The what argument in the plot method can be set to "both", "log", or "raw". The "raw" plot shows lines on the length-weight scale for each population with the resultant standard weight equation superimposed in red. The "log" plot constructs a similar plot but on the log_{10}(weight)-log_{10}(length) scale. The "both" option produces both plots side-by-side. If the col.pop argument is one of "rainbow", "heat", "topo", "terrain", "cm", "default", or "grey" and order.pop=TRUE then the populations plotted should form a general color gradient from smallest to largest weight in the initial length category. This will make it easier to identify populations that “cross over” other populations.

fitPlot shows the log-transformed linear regression result; i.e., fitted line superimposed on the log-transformed probthe percentile predicted weights versus log-transformed midpoint length category value. The examples show how to make a corresponding residual plot.

coef returns log_{10}(a) and b values for the resultant standard weight equation. Similarly, summary, anova, and predict returns the typical results for the linear regression model used to create the standard weight equation.

Value

The main function returns a list with the following items:

  • log.a is a numeric vector of the observed log_{10}(a) values sent in the log.a argument.

  • b is a numeric vector of the observed b values sent in the b argument.

  • data.pred is a matrix of the predicted weight at length for all populations.

  • data.reg contains a data frame with the probth quartile of predicted weights and the midpoint lengths.

  • Ws is an lm object that contains the results of the regression of log_{10}(wq) on log_{10}(midpoint length).

Author(s)

Derek H. Ogle, DerekOgle51@gmail.com

References

Murphy, B.R., M.L. Brown, and T.A. Springer. 1990. Evaluation of the relative weight (Wr) index, with new applications to walleye. North American Journal of Fisheries Management, 10:85-97.

See Also

emp, FroeseWs, and wsValidate; and quantile in stats

Examples

## Recreate Murphy et al. (1990) results for Largemouth Bass
# min and max lengths were 152 and 816
lmb.rlp <- rlp(LMBassWs$log.a,LMBassWs$b,155,815,qtype=6)
coef(lmb.rlp)
# compare to log.a=-5.379 and b=3.221

## Examples of the other extractor functions
summary(lmb.rlp)
anova(lmb.rlp)
predict(lmb.rlp)
10^predict(lmb.rlp,data.frame(logmidpt=log10(c(200,400))))

plot(lmb.rlp)
fitPlot(lmb.rlp)
# a residual plot for the linear regression
plot(lmb.rlp$Ws$residuals~lmb.rlp$Ws$fitted.values,pch=19)
abline(h=0,lty=3)


droglenc/FSAWs documentation built on Feb. 3, 2023, 8:48 a.m.