sitar(x, y, id, data, df, knots,
fixed = random, random = "a+b+c",
a.formula = ~1, b.formula = ~1, c.formula = ~1,
bounds = 0.04, start, bstart = "mean", xoffset = "mean",
returndata = FALSE, verbose = FALSE, correlation = NULL,
weights = NULL, subset = NULL, method = "ML",
na.action = na.fail,
control = nlmeControl(returnObject = TRUE), newform = TRUE)
## S3 method for class 'sitar':
update(object, ..., evaluate = TRUE)
x
, y
and id
.df
quantiles of x
distribution).random
)."a+b+c"
).~ 1
).~ 1
).~ 1
).x
for regression spline, or fractional extension of range (default 0.04).nlme
).x
(either "mean" (default), "apv" or value).subset
and
subsample
for simulanlme
).corStruct
object describing the within-group correlation structure (see nlme
).varFunc
object or one-sided formula describing the within-group heteroscedasticity structure (see nlme
).nlme
).nlme
).nlme
).nlme
).sitar
object - default TRUE indicates new form.sitar
.update
consisting of any of the above sitar
parameters.update
call is passed to sitar
for evaluation, while if FALSE the expanded call itself is returned.sitar
representing the nonlinear mixed-effects model fit, with all the components returned by nlme
(see nlmeObject
for a full description) plus the following components:bstart
.sitar
call that produced the object.y
.lm
object providing starting values for the B-spline curve.print
, plot
, anova
and summary
have methods to show the results of the fit. The
functions resid
, coef
, fitted
, fixed.effects
, random.effects
,
predict
, getData
, getGroups
, getCovariate
and getVarCov
can be used to extract some of its components.Note that earlier versions of sitar
did not return fitnlme
.
Both plot
and predict
may require it, in which case they update
the SITAR object on the fly, with a message. This means the object also needs to be updated manually.
xoffset
is ignored unless newform
is FALSE. bstart
(or
xoffset
if !newform
) allow the origin of b to be varied, which affects its
random effect variance. update
updates the model by taking the object
call,
adding any new parameters and replacing changed ones. Where possible the fixed and random
effects of the model being updated are passed via the start
argument.data(heights)
## fit simple model
(m1 <- sitar(x=age, y=height, id=id, data=heights, df=5))
## relate random effects to age at menarche (with censored values +ve)
## both a (size) and b (tempo) are positively associated with age at menarche
amen <- abs(heights$men)
(m2 <- update(m1, a.form=~amen, b.form=~amen, c.form=~amen))
Run the code above in your browser using DataLab