FLXMRlmer {flexmix} | R Documentation |
This is a driver which allows fitting of mixtures of linear models with random effects.
FLXMRlmer(formula = . ~ ., random, weighted = FALSE, control = list(), eps = .Machine$double.eps) FLXMRlmm(formula = . ~ ., random, lm.fit = c("lm.wfit", "smooth.spline"), varFix = c(Random = FALSE, Residual = FALSE), ...)
formula |
A formula which is interpreted relative to the formula
specified in the call to flexmix using
update.formula . Default is to use the original
flexmix model
formula. |
random |
A formula for specifying the random effects. |
weighted |
A logical indicating if the model can estimate weighted ML. |
control |
A list of control parameters. See
lmer for details. |
eps |
Observations with a component-specific posterior smaller
than eps are omitted in the M-step for this component. |
lm.fit |
A character string indicating if the coefficients should
be fitted using either a linear model or the function
smooth.spline |
varFix |
Named logical vector of length 2 indicating if the variance of the random effects and the residuals are fixed over the components. |
... |
Additional arguments to be passed to smooth.spline . |
FLXMRlmm
allows only one random effect. FLXMRlmer
allows
an arbitrary number of random effects if weighted=FALSE
; a
certain structure of the model matrix of the random effects has to be
given for weighted ML estimation, i.e. where weighted=TRUE
.
Returns an object of class FLXMRlmer
and FLXMRlmm
.
For FLXMRlmer
the weighted ML estimation is only correct if the
covariate matrix of the random effects is the same for each
observation. By default non-weighted ML estimation is made. If this is
changed the condition on the covariate matrix of the random effects is
checked.
Bettina Gruen
id <- rep(1:100, each = 10) x <- rep(1:10, 100) sample <- data.frame(y = rep(rnorm(unique(id)/2, 0, c(5, 2)), each = 10) + rnorm(length(id), rep(c(3, 8), each = 10)) + rep(c(0, 3), each = 10) * x, x = x, id = factor(id)) fitted <- flexmix(.~.|id, k = 2, model = FLXMRlmer(y ~ x, random = ~ 1), data = sample) parameters(fitted) xyplot(y ~ x | clusters(fitted), groups = id, data = sample, type = "l")