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':
summary(object, ...)
## S3 method for class 'humpfit':
predict(object, newdata = NULL, ...)
## 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':
lines(x, segments=101, ...)
## S3 method for class 'humpfit':
profile(fitted, parm = 1:3, alpha = 0.01, maxsteps = 20, del = zmax/5, ...)
family
can be used, but the link function is always Fisher's diversity
model, and other link
functions are silently ignored.humpfit
mass
used in predict
. The
original data values are used if missing.plot
plot
plot
: "p"
for observed points,
"l"
for fitted lines, "b"
for both, and "n"
for
only setting axes."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
link
function) 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.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. If you have loaded package
plot.profile
,
pairs.profile
for graphical inspection of the
profiles, and confint.profile.glm
for the profile
based confidence intervals.
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.
fisherfit
, profile.glm
,
confint.glm
.##
## Data approximated from Al-Mufti et al. (1977)
##
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))
Run the code above in your browser using DataLab