Learn R Programming

sme (version 0.8)

sme.data.frame: Smoothing-splines mixed-effects model fit(s) from a data.frame object

Description

Carry out one or more independent smoothing-splines mixed-effects model fits simultaneously

Usage

"sme"(object,tme,ind,verbose=F,lambda.mu=NULL,lambda.v=NULL,maxIter=500, knots=NULL,zeroIntercept=F,deltaEM=1e-3,deltaNM=1e-3,criteria="AICc",...)

Arguments

object
a data.frame with named variables y, tme, ind and, optionally, variable. The first three represent observations, corresponding time points and correpsonding subjects respectively. If variable is missing then these are used to carry out a single model fit. If variable is present then it denotes variable membership, and a separate smoothing-splines mixed-effects model is fit to each unique variable
tme
for consistency with the generic function. Ignored in this case
ind
for consistency with the generic function. Ignored in this case
verbose
if TRUE, debug information will be output while fitting the model(s)
lambda.mu
in the case of carrying out a single model fit, either a smoothing parameter to be used for the fixed-effect function or NULL if the optimal values for this and lambda.v should be found according to criteria using Nelder-Mead search. For the case of multiple model fits, either a single smoothing parameter to be used for all fits, or a vector of smoothing parameters, one for each fit, or NULL if Nelder-Mead search should be used to find the optimal values for this and lambda.v for all variables
lambda.v
in the case of carrying out a single model fit, either a smoothing parameter to be used for the random-effects functions or NULL if the optimal values for this and lambda.mu should be found according to criteria using Nelder-Mead search. For the case of multiple model fits, either a single smoothing parameter to be used for all fits, or a vector of smoothing parameters, one for each fit, or NULL if Nelder-Mead search should be used to find the optimal values for this and lambda.mu for all variables
maxIter
maximum number of iterations to be performed for the EM algorithm
knots
location of spline knots. If NULL, an incidence matrix representation will be used. See `Details'
zeroIntercept
experimental feature. If TRUE, the fitted values of the fixed- and random-effects functions at the intercept will be zero
deltaEM
convergence tolerance for the EM algorithm
deltaNM
(relative) convergence tolerance for the Nelder-Mead optimisation
criteria
one of "AICc", "AIC", "BICN" or "BICn" indicating which criteria to use to score a particular combination of lambda.mu and lambda.v in the Nelder-Mead search
...
additional arguments used when carrying out multiple fits, specifically numberOfThreads indicating the number of threads used to carry out the multiple fits in parallel. See sme.list for details

Value

In the case of a single model fit, an object of class sme. For multiple model fits, a list of such objects. See smeObject for the components of the fit and plot.sme for visualisation options

Details

The default behaviour is to use an incidence matrix representation for the smoothing-splines. This works well in most situations but may incur a high computational cost when the number of distinct time points is large, as may be the case for irregularly sampled data. Alternatively, a basis projection can be used by giving a vector of knots of length (much) less than the number of distinct time points.

References

Berk, M. (2012). Smoothing-splines Mixed-effects Models in R. Preprint

See Also

smeObject, sme, sme.list, plot.sme

Examples

Run this code
  data(MTB)
  system.time(fits <- sme(MTB,numberOfThreads=1))
  sapply(fits,logLik)

  system.time(fits <- sme(MTB,numberOfThreads=10))
  sapply(fits,logLik)

Run the code above in your browser using DataLab