

gnlmm(repeated)                              R Documentation

_F_i_t _a _G_e_n_e_r_a_l_i_z_e_d _N_o_n_l_i_n_e_a_r _M_i_x_e_d _M_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n_:

     `gnlmm' fits user-specified nonlinear regression equa-
     tions to one or both parameters of the common one and
     two parameter distributions (binomial, beta binomial,
     double binomial, mult(iplicative) binomial, Poisson,
     negative binomial, double Poisson, mult(iplicative)
     Poisson, gamma count, Consul generalized Poisson, loga-
     rithmic series, geometric, normal, inverse Gauss,
     logistic, exponential, gamma, Weibull, extreme value,
     Cauchy, Pareto, Laplace, and Levy; all but the bino-
     mial-based distributions may be right and/or left cen-
     sored).

     Nonlinear regression models can be supplied as formulae
     where parameters are unknowns. Factor variables cannot
     be used and parameters must be scalars. (See `fin-
     terp'.)

     The intercept of the location regression has a nor-
     mally-distributed random effect. This normal mixing
     distribution is computed by Gauss-Hermite integration.

     The `scale' of the random effect is the link function
     to be applied. For example, if it is `log', the sup-
     plied mean function, `mu', is transformed as
     log(exp(mu)+sd), where sd is the random effect parame-
     ter.

     It is recommended that initial estimates for `pmu' and
     `pshape' be obtained from `gnlr'.

_U_s_a_g_e_:

     gnlmm(y, distribution="normal", mu=NULL, shape=NULL, linear=NULL,
             nest=NULL, pmu=NULL, pshape=NULL, psd=NULL, exact=F, wt=1,
             delta=1, shfn=F, scale=NULL, points=10, common=F,
             envir=sys.frame(sys.parent()), print.level=0, typsiz=abs(p),
             ndigit=10, gradtol=0.00001, stepmax=10*sqrt(p%*%p),
             steptol=0.00001, iterlim=100, fscale=1)

_A_r_g_u_m_e_n_t_s_:

       y: A response vector for uncensored data, a two col-
          umn matrix for binomial data or censored data,
          with the second column being the censoring indica-
          tor (1: uncensored, 0: right censored, -1: left
          censored), or an object of class, response (cre-
          ated by `restovec') or repeated (created by
          `rmna').

distribution: Either a character string containing the name
          of the distribution or a function giving the -log
          likelihood and calling the location and shape
          functions.

      mu: A user-specified function of `pmu', and possibly
          `linear', giving the regression equation for the
          location. This may contain a linear part as the
          second argument to the function. It may also be a
          formula beginning with ~, specifying a either lin-
          ear regression function for the location parameter
          in the Wilkinson and Rogers notation or a general
          function with named unknown parameters. If none is
          supplied, the location is taken to be constant
          unless the linear argument is given.

   shape: A user-specified function of `pshape', and possi-
          bly `linear' and/or `mu', giving the regression
          equation for the dispersion or shape parameter.
          This may contain a linear part as the second argu-
          ment to the function and the location function as
          last argument (in which case `shfn' must be set to
          TRUE). It may also be a formula beginning with ~,
          specifying either a linear regression function for
          the shape parameter in the Wilkinson and Rogers
          notation or a general function with named unknown
          parameters. If none is supplied, this parameter is
          taken to be constant unless the linear argument is
          given. This parameter is the logarithm of the
          usual one.

  linear: A formula beginning with ~, specifying the linear
          part of the regression function for the location
          parameter or list of two such expressions for the
          location and/or shape parameters.

    nest: The variable classifying observations by the unit
          upon which they were observed. Ignored if y has
          class, response.

     pmu: Vector of initial estimates for the location
          parameters.  If `mu' is a formula with unknown
          parameters, their estimates must be supplied
          either in their order of appearance in the expres-
          sion or in a named list.

  pshape: Vector of initial estimates for the shape parame-
          ters.  If `shape' is a formula with unknown param-
          eters, their estimates must be supplied either in
          their order of appearance in the expression or in
          a named list.

     psd: Initial estimate of the standard deviation of the
          normal mixing distribution.

   exact: If TRUE, fits the exact likelihood function for
          continuous data by integration over intervals of
          observation, i.e. interval censoring.

      wt: Weight vector.

   delta: Scalar or vector giving the unit of measurement
          (always one for discrete data) for each response
          value, set to unity by default. Ignored if y has
          class, response. 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. The transformation cannot contain
          unknown parameters. For example, with a log trans-
          formation, `delta=1/y'. (The delta values for the
          censored response are ignored.)

    shfn: If true, the supplied shape function depends on
          the location (function). The name of this location
          function must be the last argument of the shape
          function.

   scale: The scale on which the random effect is applied:
          identity, log, logit, reciprocal, or exp.

  points: The number of points for Gauss-Hermite integration
          of the random effect.

  common: If TRUE, `mu' and `shape' must both be functions
          with, as argument, a vector of parameters having
          some or all elements in common between them so
          that indexing is in common between them; all
          parameter estimates must be supplied in `pmu'.  If
          FALSE, parameters are distinct between the two
          functions and indexing starts at one in each func-
          tion.

   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.

  others: Arguments controlling `nlm'.

_V_a_l_u_e_:

     A list of class gnlr is returned.  The printed output
     includes the -log likelihood (not the deviance), the
     corresponding AIC, the maximum likelihood estimates,
     standard errors, and correlations. A list is returned
     that contains all of the relevant information calcu-
     lated, including error codes.

_A_u_t_h_o_r_(_s_)_:

     J.K. Lindsey

_S_e_e _A_l_s_o_:

     `finterp', `fmr', `glm', `glmm', `gnlr', `gnlr3', `lm'.

_E_x_a_m_p_l_e_s_:

     library(gnlm)
     # data objects
     sex <- c(0,1)
     sx <- tcctomat(sex)
     dose <- matrix(rpois(20,10),nrow=2)
     dd <- tvctomat(dose)
     # vectors for functions
     dose <- as.vector(t(dose))
     sex <- c(rep(0,10),rep(1,10))
     nest <- rbind(rep(1,10),rep(2,10))
     y <- exp(0.2+0.3*dose+0.5*sex)+rgamma(20,2,5)+rep(rnorm(10),rep(2,10))
     y <- restovec(matrix(y, nrow=2), nest=nest)
     reps <- rmna(y, ccov=sx, tvcov=dd)
     #
     # log linear regression with gamma distribution
     mu <- function(p) exp(p[1]+p[2]*sex+p[3]*dose)
     print(z <- gnlr(y, dist="gamma", mu=mu, pmu=c(1,0,0), pshape=1))
     gnlmm(y, dist="gamma", mu=mu, nest=nest, pmu=z$coef[1:3],
             pshape=z$coef[4], psd=0.1, points=3)
     # or equivalently
     gnlmm(y, dist="gamma", mu=~exp(b0+b1*sex+b2*dose), nest=nest,
             pmu=z$coef[1:3], pshape=z$coef[4], psd=0.1, points=3, envir=reps)
     # or with identity link
     print(z <- gnlr(y, dist="gamma", mu=~sex+dose, pmu=c(1,0,0), pshape=1))
     gnlmm(y, dist="gamma", mu=~sex+dose, nest=nest, pmu=z$coef[1:3],
             pshape=z$coef[4], psd=0.1, points=3)
     # or
     gnlmm(y, dist="gamma", mu=~b0+b1*sex+b2*dose, nest=nest, pmu=z$coef[1:3],
             pshape=z$coef[4], psd=0.1, points=3, envir=reps)
     #
     # nonlinear regression with gamma distribution
     mu <- function(p) p[1]+exp(p[2]+p[3]*sex+p[4]*dose)
     print(z <- gnlr(y, dist="gamma", mu=mu, pmu=c(1,1,0,0), pshape=1))
     gnlmm(y, dist="gamma", mu=mu, nest=nest, pmu=z$coef[1:4],
             pshape=z$coef[5], psd=0.1, points=3)
     # or
     mu2 <- function(p, linear) p[1]+exp(linear)
     gnlmm(y, dist="gamma", mu=mu2, linear=~sex+dose, nest=nest,
             pmu=z$coef[1:4], pshape=1, psd=0.1, points=3)
     # or
     gnlmm(y, dist="gamma", mu=~b4+exp(b0+b1*sex+b2*dose), nest=nest,
             pmu=z$coef[1:4], pshape=z$coef[5], psd=0.1,
             points=3, envir=reps)
     #
     # include regression for the shape parameter with same mu function
     shape <- function(p) p[1]+p[2]*sex
     print(z <- gnlr(y, dist="gamma", mu=mu, shape=shape, pmu=c(1,0,0,1),
             pshape=rep(1,2)))
     gnlmm(y, dist="gamma", mu=mu, shape=shape, nest=nest,
             pmu=z$coef[1:4], pshape=z$coef[5:6], psd=0.1, points=3)
     # or
     gnlmm(y, dist="gamma", mu=mu, shape=shape, nest=nest, pmu=z$coef[1:4],
             pshape=z$coef[5:6], psd=0.1, points=3, envir=reps)
     # or
     gnlmm(y, dist="gamma", mu=~b4+exp(b0+b1*sex+b2*dose), shape=shape,
             nest=nest, pmu=c(z$coef[4],z$coef[1:3]),
             pshape=z$coef[5:6], psd=0.1, points=3, envir=reps)

