nlr                   package:gnlm                   R Documentation

_N_o_n_l_i_n_e_a_r _N_o_r_m_a_l, _G_a_m_m_a, _a_n_d _I_n_v_e_r_s_e _G_a_u_s_s_i_a_n _R_e_g_r_e_s_s_i_o_n _M_o_d_e_l_s

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

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

     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.

_U_s_a_g_e:

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

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

       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.

  others: Arguments controlling 'nlm'.

_V_a_l_u_e:

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

_A_u_t_h_o_r(_s):

     J.K. Lindsey

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

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

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

     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))

