mkran {gss} | R Documentation |
Generate entries representing random effects in mixed-effect models.
mkran(formula, data)
formula |
Symbolic description of the random effects. |
data |
Data frame containing the variables in the model. |
This function generates random effect terms from simple grouping variables, for use in nonparametric mixed-effect models as described in Gu and Ma (2005a, b). The syntax of the formula resembles that of similar utilities for linear and nonlinear mixed-effect models, as described in Pinheiro and Bates (2000).
Currently, mkran
takes only two kinds of formulas,
~1|grp2
or ~grp1|grp2
. Both grp1
and
grp2
should be factors, and for the second formula, the
levels of grp2
should be nested under those of grp1
.
The Z matrix is determined by grp2
. When observations are
ordered according to the levels of grp2
, the Z matrix is
block diagonal of 1 vectors.
The Sigma matrix is diagonal. For ~1|grp2
, it has one tuning
parameter. For ~grp1|grp2
, the number of parameters equals
the number of levels of grp1
, with each parameter shared by
the grp2
levels nested under the same grp1
level.
A list of three components.
z |
Z matrix. |
sigma |
Sigma matrix to be evaluated through
sigma$fun(para,sigma$env) . |
init |
Initial parameter values. |
One may pass a formula or a list to the argument random
in
calls to ssanova
orgssanova
to fit
nonparametric mixed-effect models. A formula will be converted to a
list using mkran
. A list should be of the same form as the
value of mkran
.
Chong Gu, chong@stat.purdue.edu
Gu, C. and Ma, P. (2005), Optimal smoothing in nonparametric mixed-effect models. The Annals of Statistics, 33, 1357–1379.
Gu, C. and Ma, P. (2005), Generalized nonparametric mixed-effect models: computation and smoothing parameter selection. Journal of Computational and Graphical Statistics, 14, 485–504.
Pinheiro and Bates (2000), Mixed-Effects Models in S and S-PLUS. New York: Springer-Verlag.
## Toy data test <- data.frame(grp=as.factor(rep(1:2,c(2,3)))) ## First formula ran.test <- mkran(~1|grp,test) ran.test$z ran.test$sigma$fun(2,ran.test$sigma$env) # diag(10^(-2),2) ## Second formula ran.test <- mkran(~grp|grp,test) ran.test$z ran.test$sigma$fun(c(1,2),ran.test$sigma$env) # diag(10^(-1),10^(-2)) ## Clean up ## Not run: rm(test,ran.test)