vbFuns {FSA}R Documentation

Creates a function for a specific parameterizations of the von Bertalanffy growth function.

Description

Creates a function for a specific parameterizations of the von Bertalanffy growth function.

Usage

vbFuns(type = c("typical", "BevertonHolt", "original", "vonBertalanffy", "GQ",
  "GallucciQuinn", "Mooij", "Weisberg", "Schnute", "Francis", "Laslett",
  "Fabens", "Fabens2", "Somers", "Somers2", "Wang", "Wang2"), simple = FALSE,
  msg = FALSE)

Arguments

type

A string that indicates the parameterization of the von Bertalanffy growth function.

simple

A logical that indicates whether the user should be allowed to send all parameter values in the first parameter argument (=FALSE; default) or whether all individual parameters must be specified (=TRUE).

msg

A logical that indicates whether a message about the function and parameter definitions should be output (=TRUE) or not (=FALSE; default).

Value

A function that can be used to predict fish length given a vector of ages and values for the function parameters and, in some parameterizations, values for some constants. The result should be saved to an object that can then be used as a function name. When the resulting function is used the parameters are ordered as shown when the definitions of the parameters are printed after the function is called (if msg=TRUE).

If simple=FALSE then the values for all parameters may be included as a vector in the first parameter argument. Similarly, the values for all constants may be included as a vector in the first constant argument (i.e., t1). If simple=TRUE then all parameters and constants must be declared individually. The resulting function is somewhat easier to read when simple=TRUE.

IFAR Chapter

9-Individual Growth.

Note

The ‘original’ and ‘vonBertalanffy’ and the ‘typical’ and ‘BevertonHolt’ versions are synonymous.

Author(s)

Derek H. Ogle, dogle@northland.edu, thanks to Gabor Grothendieck for a hint about using get().

References

Ogle, D.H. 2016. Introductory Fisheries Analyses with R. Chapman & Hall/CRC, Boca Raton, FL.

Fabens, A. 1965. Properties and fitting of the von Bertalanffy growth curve. Growth 29:265-289.

Francis, R.I.C.C. 1988. Are growth parameters estimated from tagging and age-length data comparable? Canadian Journal of Fisheries and Aquatic Sciences, 45:936-942.

Gallucci, V.F. and T.J. Quinn II. 1979. Reparameterizing, fitting, and testing a simple growth model. Transactions of the American Fisheries Society, 108:14-25.

Garcia-Berthou, E., G. Carmona-Catot, R. Merciai, and D.H. Ogle. A technical note on seasonal growth models. Reviews in Fish Biology and Fisheries 22:635-640.

Mooij, W.M., J.M. Van Rooij, and S. Wijnhoven. 1999. Analysis and comparison of fish growth from small samples of length-at-age data: Detection of sexual dimorphism in Eurasian perch as an example. Transactions of the American Fisheries Society 128:483-490.

Polacheck, T., J.P. Eveson, and G.M. Laslett. 2004. Increase in growth rates of southern bluefin tuna (Thunnus maccoyii) over four decades: 1960 to 2000. Canadian Journal of Fisheries and Aquatic Sciences, 61:307-322.

Schnute, J. 1981. A versatile growth model with statistically stable parameters. Canadian Journal of Fisheries and Aquatic Sciences, 38:1128-1140.

Somers, I. F. 1988. On a seasonally oscillating growth function. Fishbyte 6(1):8-11.

Wang, Y.-G. 1998. An improved Fabens method for estimation of growth parameters in the von Bertalanffy model with individual asymptotes. Canadian Journal of Fisheries and Aquatic Sciences 55:397-400.

Weisberg, S., G.R. Spangler, and L. S. Richmond. 2010. Mixed effects models for fish growth. Canadian Journal of Fisheries And Aquatic Sciences 67:269-277.

See Also

See vbModels for a list of models and parameterizations used in FSA and vbStarts for methods to find starting values.

Examples

## Simple Examples
( vb1 <- vbFuns() )              # typical parameterization
ages <- 0:20
plot(vb1(ages,Linf=20,K=0.3,t0=-0.2)~ages,type="b",pch=19)

( vb2 <- vbFuns("Francis") )     # Francis parameterization
plot(vb2(ages,L1=10,L2=19,L3=20,t1=2,t3=18)~ages,type="b",pch=19)

( vb2c <- vbFuns("Francis",simple=TRUE) )   # compare to vb2

## Examples of fitting Von B models
##   After the last example a plot is constructed with three lines on top of each
##   other illustrating that the parameterizations all produce the same fitted
##   values.  However, observe the correlations in the summary() results.

# Fitting the typical paramaterization of the von B function
data(SpotVA1)
fit1 <- nls(tl~vb1(age,Linf,K,t0),data=SpotVA1,start=vbStarts(tl~age,data=SpotVA1))
summary(fit1,correlation=TRUE)
plot(tl~age,data=SpotVA1,pch=19)
curve(vb1(x,Linf=coef(fit1)),from=0,to=5,col="red",lwd=10,add=TRUE)

# Fitting the Francis paramaterization of the von B function
fit2 <- nls(tl~vb2c(age,L1,L2,L3,t1=0,t3=5),data=SpotVA1,
            start=vbStarts(tl~age,data=SpotVA1,type="Francis",ages2use=c(0,5)))
summary(fit2,correlation=TRUE)
curve(vb2c(x,L1=coef(fit2)[1],L2=coef(fit2)[2],L3=coef(fit2)[3],t1=0,t3=5),
      from=0,to=5,col="blue",lwd=5,add=TRUE)

# Fitting the Schnute parameterization of the von B function
vb3 <- vbFuns("Schnute")
fit3 <- nls(tl~vb3(age,L1,L3,K,t1=0,t3=4),data=SpotVA1,
            start=vbStarts(tl~age,data=SpotVA1,type="Schnute",ages2use=c(0,4)))
summary(fit3,correlation=TRUE)
curve(vb3(x,L1=coef(fit3),t1=c(0,4)),from=0,to=5,col="green",lwd=2,add=TRUE)

[Package FSA version 0.6.13 Index]