VGAM (version 1.1-1)

micmen: Michaelis-Menten Model


Fits a Michaelis-Menten nonlinear regression model.


micmen(rpar = 0.001, divisor = 10, init1 = NULL, init2 = NULL,
       imethod = 1, oim = TRUE,    link1 = "identitylink", link2 = "identitylink",
       firstDeriv = c("nsimEIM", "rpar"), probs.x = c(0.15, 0.85),
       nsimEIM = 500, dispersion = 0, zero = NULL)



Numeric. Initial positive ridge parameter. This is used to create positive-definite weight matrices.


Numerical. The divisor used to divide the ridge parameter at each iteration until it is very small but still positive. The value of divisor should be greater than one.

init1, init2

Numerical. Optional initial value for the first and second parameters, respectively. The default is to use a self-starting value.

link1, link2

Parameter link function applied to the first and second parameters, respectively. See Links for more choices.


Numerical. Dispersion parameter.


Character. Algorithm for computing the first derivatives and working weights. The first is the default.

imethod, probs.x

See CommonVGAMffArguments for information.

nsimEIM, zero

See CommonVGAMffArguments for information.


Use the OIM? See CommonVGAMffArguments for information.


An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.


This function is not (nor could ever be) entirely reliable. Plotting the fitted function and monitoring convergence is recommended.


The Michaelis-Menten model is given by $$E(Y_i) = (\theta_1 u_i) / (\theta_2 + u_i)$$ where \(\theta_1\) and \(\theta_2\) are the two parameters.

The relationship between iteratively reweighted least squares and the Gauss-Newton algorithm is given in Wedderburn (1974). However, the algorithm used by this family function is different. Details are given at the Author's web site.


Seber, G. A. F. and Wild, C. J. (1989) Nonlinear Regression, New York: Wiley.

Wedderburn, R. W. M. (1974) Quasi-likelihood functions, generalized linear models, and the Gauss-Newton method. Biometrika, 61, 439--447.

Bates, D. M. and Watts, D. G. (1988) Nonlinear Regression Analysis and Its Applications, New York: Wiley.

See Also



Run this code
mfit <- vglm(velocity ~ 1, micmen, data = enzyme, trace = TRUE,
             crit = "coef", form2 = ~ conc - 1)

# }
 plot(velocity ~ conc, enzyme, xlab = "concentration", las = 1,
     col = "blue", main = "Michaelis-Menten equation for the enzyme data",
     ylim = c(0, max(velocity)), xlim = c(0, max(conc)))
points(fitted(mfit) ~ conc, enzyme, col = "red", pch = "+", cex = 1.5)

# This predicts the response at a finer grid:
newenzyme <- data.frame(conc = seq(0, max(with(enzyme, conc)), len = 200))
mfit@extra$Xm2 <- newenzyme$conc # This assignment is needed for prediction
lines(predict(mfit, newenzyme, "response") ~ conc, newenzyme, col = "red") 
# }

Run the code above in your browser using DataLab