| flexmixNL-package {flexmixNL} | R Documentation |
Mixtures of Generalized Nonlinear Models
Description
Extension of package flexmix for fitting mixtures of
Generalized Nonlinear Models.
Details
The package flexmixNL implements an extension for the package
flexmix for fitting mixtures of Generalized Nonlinear Models
(GNMs). The package provides a specified M-step for the EM-algorithm within the
FlexMix framework (see also flexmix) for fitting
GNMs for the normal and gamma distribution.
The mixture model is specified by the function FLXMRnlm.
Author(s)
Sanela Omerovic
See Also
See also flexmix for finite mixtures of regression models and
gnm for the fitting of Generalized Nonlinear Models (GNMs) for
further information.
Examples
# example 1.
data("NReg", package = "flexmixNL")
# mixture of two nonlinear regression models (normal distribution).
start1 <- list(a = 170, b = 5)
start2 <- list(a = 130, b = 5)
model <- flexmix(yn ~ x, k = 2, data = NReg,
model = list(FLXMRnlm(formula = yn ~ a*x / (b+x),
family = "gaussian",
start = list(start1, start2))))
# final cluster assignments.
plot(yn ~ x, col = clusters(model), data = NReg)
# example 2.
data("GReg", package = "flexmixNL")
# mixture of two nonlinear regression models (gamma distribution).
exp.1 = function(x,predictors){
list(predictors = list(a = 1, b = 1),
variables = list(substitute(x)),
term = function(predictors, variables){
sprintf("exp( %s + %s * %s)",
predictors[1], predictors[2], variables)
})
}
class(exp.1) = "nonlin"
start1 <- list(a = -0.4, b = 0.3)
start2 <- list(a = -0.1, b = 0.4)
model2 <- flexmix(yg ~ x, k = 2, data = GReg,
model = list(FLXMRnlm(formula = yg ~ -1 + exp.1(x),
family = "Gamma",
start = list(start1, start2))))
# final cluster assignments.
plot(yg ~ x, col = clusters(model2), data = GReg)
[Package flexmixNL version 0.0.1 Index]