Learn R Programming

gnlm (version 1.1.1)

nlr: Nonlinear Normal, Gamma, and Inverse Gaussian Regression Models

Description

nlr fits a user-specified nonlinear regression equation by least squares (normal) or its generalization for the gamma and inverse Gauss distributions.

Usage

nlr(y = NULL, mu = NULL, pmu = NULL, distribution = "normal",
  wt = 1, delta = 1, envir = parent.frame(), print.level = 0,
  typsize = abs(pmu), ndigit = 10, gradtol = 1e-05, stepmax = 10 *
  sqrt(pmu %*% pmu), steptol = 1e-05, iterlim = 100, fscale = 1)

Arguments

y

The response vector or an object of class, response (created by restovec) or repeated (created by rmna or lvna).

mu

A function of p giving the regression equation for the mean or a formula beginning with ~, specifying either a linear regression function in the Wilkinson and Rogers notation or a general nonlinear function with named unknown parameters.

pmu

Vector of initial estimates of the parameters. If mu is a formula with unknown parameters, their estimates must be supplied either in their order of appearance in the expression or in a named list.

distribution

The distribution to be used: normal, gamma, or inverse Gauss.

wt

Weight vector.

delta

Scalar or vector giving the unit of measurement for each response value, set to unity by default. For example, if a response is measured to two decimals, delta=0.01. If the response is transformed, this must be multiplied by the Jacobian. For example, with a log transformation, delta=1/y.

envir

Environment in which model formulae are to be interpreted or a data object of class, repeated, tccov, or tvcov. If y has class repeated, it is used as the environment.

print.level

Arguments controlling nlm.

typsize

Arguments controlling nlm.

ndigit

Arguments controlling nlm.

gradtol

Arguments controlling nlm.

stepmax

Arguments controlling nlm.

steptol

Arguments controlling nlm.

iterlim

Arguments controlling nlm.

fscale

Arguments controlling nlm.

Value

A list of class nlr is returned that contains all of the relevant information calculated, including error codes.

Details

A nonlinear regression model can be supplied as a formula where parameters are unknowns in which case factor variables cannot be used and parameters must be scalars. (See finterp.)

The printed output includes the -log likelihood (not the deviance), the corresponding AIC, the parameter estimates, standard errors, and correlations.

See Also

finterp, fmr, glm, glmm, gnlmm, gnlr, gnlr3, lm, nls.

Examples

Run this code
# NOT RUN {
x <- c(3,5,0,0,0,3,2,2,2,7,4,0,0,2,2,2,0,1,3,4)
y <- c(5.8,11.6,2.2,2.7,2.3,9.4,11.7,3.3,1.5,14.6,9.6,7.4,10.7,6.9,
	2.6,17.3,2.8,1.2,1.0,3.6)
# rgamma(20,2,scale=0.2+2*exp(0.1*x))
# linear least squares regression
mu1 <- function(p) p[1]+p[2]*x
summary(lm(y~x))
nlr(y, mu=mu1, pmu=c(3,0))
# or
nlr(y, mu=~x, pmu=c(3,0))
# or
nlr(y, mu=~b0+b1*x, pmu=c(3,0))
# linear gamma regression
nlr(y, dist="gamma", mu=~x, pmu=c(3,0))
# nonlinear regression
mu2 <- function(p) p[1]+p[2]*exp(p[3]*x)
nlr(y, mu=mu2, pmu=c(0.2,3,0.2))
# or
nlr(y, mu=~b0+c0*exp(c1*x), pmu=list(b0=0.2,c0=3,c1=0.2))
# with gamma distribution
nlr(y, dist="gamma", mu=~b0+c0*exp(c1*x), pmu=list(b0=0.2,c0=3,c1=0.2))

# }

Run the code above in your browser using DataLab