SSfol                  package:nls                  R Documentation

First-order Compartment Model

Description:

     This `selfStart' model evaluates the first-order compartment
     function and its gradient.  It has an `initial' attribute that 
     creates initial estimates of the parameters `lKe', `lKa', and
     `lCl'.

Usage:

     SSfol(Dose, input, lKe, lKa, lCl)

Arguments:

    Dose: a numeric value representing the initial dose.

   input: a numeric vector at which to evaluate the model.

     lKe: a numeric parameter representing the natural logarithm of the
          elimination rate constant.

     lKa: a numeric parameter representing the natural logarithm of the
          absorption rate constant.

     lCl: a numeric parameter representing the natural logarithm of the
          clearance.

Value:

     a numeric vector of the same length as `input', which is the value
     of the expression `Dose * exp(lKe+lKa-lCl) *
     (exp(-exp(lKe)*input)-exp(-exp(lKa)*input)) /
     (exp(lKa)-exp(lKe))'.

     If all of the arguments `lKe', `lKa', and `lCl' are names of
     objects, the gradient matrix with respect to these names is
     attached as an attribute named `gradient'.

Author(s):

     Jose Pinheiro and Douglas Bates

See Also:

     `nls', `selfStart'

Examples:

     data( Theoph )
     Theoph.1 <- Theoph[ Theoph$Subject == 1, ]
     SSfol( Theoph.1$Dose, Theoph.1$Time, -2.5, 0.5, -3 )  # response only
     lKe <- -2.5; lKa <- 0.5; lCl <- -3
     SSfol( Theoph.1$Dose, Theoph.1$Time, lKe, lKa, lCl ) # response and gradient
     getInitial(conc ~ SSfol(Dose, Time, lKe, lKa, lCl), data = Theoph.1)
     ## Initial values are in fact the converged values
     fm1 <- nls(conc ~ SSfol(Dose, Time, lKe, lKa, lCl), data = Theoph.1)
     summary(fm1)

