Learn R Programming

statforbiology (version 0.9.9)

SScousens85: Rectangular hyperbola for yield/weed density relationship

Description

These functions provide the rectangula hyperbola that was devided by Cousens (1985) for modelling the relationship between crop yield and weed density. The function was derived from the yield-loss function, and contains parameters that are revelant for competition studies. These functions provide the equation (cousens85.fun), the self-starters for the nls function (NLS.cousens85) and the self-starters for the drm function in the drc package (DRC.cousens85)

Usage

cousens85.fun(predictor, Ywf, i, A)
NLS.cousens85(predictor, Ywf, i, A)
DRC.cousens85(fixed = c(NA, NA, NA), names = c("Ywf", "i", "A"))

Value

cousens85.fun, NLS.cousens85 return a numeric value, while DRC.cousens85 return a list containing the nonlinear function and the self starter function

Arguments

predictor

a numeric vector of values at which to evaluate the model

Ywf

model parameter (Weed-free yield)

i

model parameter (initial slope)

A

model parameter (maximum percentage yield loss)

fixed

numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed.

names

a vector of character strings giving the names of the parameters. The default is usually reasonable.

Author

Andrea Onofri

Details

This equation is parameterised as: $$ f(x) = Ywf \, \frac{(1 - (i predictor)} {(100 \, (1 + i \, predictor/A)))} $$ It depicts a decreasing curve with no inflection point. The curve is equal to 'Ywf' when x = 0 and the lower asymptote is at 'A' multiplied by 'Ywf/100'

References

Ratkowsky, DA (1990) Handbook of nonlinear regression models. New York (USA): Marcel Dekker Inc.

Onofri, A. (2020). A collection of self-starters for nonlinear regression in R. See: https://www.statforbiology.com/2020/stat_nls_usefulfunctions/

Cousens, R., 1985. A simple model relating yield loss to weed density. Annals of Applied Biology 107, 239–252. https://doi.org/10.1111/j.1744-7348.1985.tb01567.x

Examples

Run this code
library(statforbiology)
dataset <- getAgroData("Sinapis")

# nls fit
mod.nls <- nls(yield ~ NLS.cousens85(density, Ywf, i, A),
               data = dataset )
summary(mod.nls)
mod.nls2 <- drm(yield ~ density, fct = DRC.cousens85(), data = dataset )
summary(mod.nls2)
plot(mod.nls2)

Run the code above in your browser using DataLab