humpfit | R Documentation |
Function humpfit
fits a no-interaction model for species
richness vs. biomass data (Oksanen 1996). This is a null model that
produces a hump-backed response as an artifact of plant size and
density.
humpfit(mass, spno, family = poisson, start)
## S3 method for class 'humpfit'
lines(x, segments = 101, ...)
## S3 method for class 'humpfit'
plot(
x,
xlab = "Biomass",
ylab = "Species Richness",
lwd = 2,
l.col = "blue",
p.col = 1,
type = "b",
...
)
## S3 method for class 'humpfit'
points(x, ...)
## S3 method for class 'humpfit'
predict(object, newdata = NULL, ...)
## S3 method for class 'humpfit'
profile(fitted, parm = 1:3, alpha = 0.01, maxsteps = 20, del = zmax/5, ...)
## S3 method for class 'humpfit'
summary(object, ...)
mass |
Biomass. |
spno |
Species richness. |
family |
Family of error distribution. Any
|
start |
Vector of starting values for all three parameters. |
x |
Fitted result object. |
segments |
Number of segments used for lines. |
... |
Other parameters to functions. |
xlab , ylab |
Axis labels. |
lwd |
Line width. |
l.col , p.col |
Line and point colours. |
type |
Type of ype of |
object |
Fitted result object. |
newdata |
Values of |
fitted |
Fitted result object. |
parm |
Profiled parameters. |
alpha , maxsteps , del |
Parameters for profiling range and density (see Details). |
The no-interaction model assumes that the humped species richness
pattern along biomass gradient is an artifact of plant size and
density (Oksanen 1996). For low-biomass sites, it assumes that
plants have a fixed size, and biomass increases with increasing
number of plants. When the sites becomes crowded, the number of
plants and species richness reaches the maximum. Higher biomass is
reached by increasing the plant size, and then the number of plants
and species richness will decrease. At biomasses below the hump,
plant number and biomass are linearly related, and above the hump,
plant number is proportional to inverse squared biomass. The number
of plants is related to the number of species by the relationship
(link
afunction) from Fisher's log-series (Fisher et
al. 1943).
The parameters of the model are:
hump
: the location of the hump on the biomass gradient.
scale
: an arbitrary multiplier to translate the biomass
into virtual number of plants.
alpha
: Fisher's \alpha
to translate the
virtual number of plants into number of species.
The parameters scale
and alpha
are intermingled and
this function should not be used for estimating Fisher's
\alpha
. Probably the only meaningful and interesting
parameter is the location of the hump
.
Function may be very difficult to fit and easily gets trapped into
local solutions, or fails with non-Poisson families, and function
profile
should be used to inspect the fitted models. You can
use plot.profile
, pairs.profile
for graphical
inspection of the profiles, and confint
for the profile
based confidence intervals. (With R prior to 4.4-0 you must use
library(MASS)
to access these functions.)
The original model intended to show that there is no need to speculate about “competition” and “stress” (Al-Mufti et al. 1977), but humped response can be produced as an artifact of using fixed plot size for varying plant sizes and densities.
The function returns an object of class "humpfit"
inheriting from class "glm"
. The result object has specific
summary
, predict
, plot
, points
and
lines
methods. In addition, it can be accessed by the
following methods for glm
objects: AIC
,
extractAIC
, deviance
,
coef
, residuals.glm
(except type
= "partial"
), fitted
, and perhaps some others. In
addition, function ellipse.glm
(package
ellipse) can be used to draw approximate confidence ellipses
for pairs of parameters, if the normal assumptions look
appropriate.
The function is a replacement for the original GLIM4
function at the archive of Journal of Ecology. There the function
was represented as a mixed glm
with one non-linear
parameter (hump
) and a special one-parameter link function
from Fisher's log-series. The current function directly applies
non-linear maximum likelihood fitting using function
nlm
. Some expected problems with the current
approach are:
The function is discontinuous at hump
and may be
difficult to optimize in some cases (the lines will always join, but
the derivative jumps).
The function does not try very hard to find sensible starting
values and can fail. The user may supply starting values in
argument start
if fitting fails.
The estimation is unconstrained, but both scale
and
alpha
should always be positive. Perhaps they should be
fitted as logarithmic. Fitting Gamma
family
models might become easier, too.
Al-Mufti, M.M., Sykes, C.L, Furness, S.B., Grime, J.P & Band, S.R. (1977) A quantitative analysis of shoot phenology and dominance in herbaceous vegetation. Journal of Ecology 65,759–791.
Fisher, R.A., Corbet, A.S. & Williams, C.B. (1943) The relation between the number of species and the number of individuals in a random sample of of an animal population. Journal of Animal Ecology 12, 42–58.
Oksanen, J. (1996) Is the humped relationship between species richness and biomass an artefact due to plot size? Journal of Ecology 84, 293–295.
fisherfit
, profile.glm
,
confint.glm
.
mass <- c(140,230,310,310,400,510,610,670,860,900,1050,1160,1900,2480)
spno <- c(1, 4, 3, 9, 18, 30, 20, 14, 3, 2, 3, 2, 5, 2)
sol <- humpfit(mass, spno)
summary(sol) # Almost infinite alpha...
plot(sol)
## confint is in MASS, and impicitly calls profile.humpfit.
## Parameter 3 (alpha) is too extreme for profile and confint, and we
## must use only "hump" and "scale".
library(MASS)
plot(profile(sol, parm=1:2))
confint(sol, parm=c(1,2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.