| dfpower {sitar} | R Documentation |
Tabulate BIC of SITAR models by degrees of freedom, fixed effects and xy power transformations
Description
dfpower fits a series of sitar models tabulated by combinations of
a) specified degrees of freedom for the spline curve,
b) specified fixed effects a, b, c, d,
c) specified power transformations of x, and
d) specified power transformations of y,
returning a four-way array of function values (e.g. BIC) applied to each model.
The function provides a convenient way to optimise the model.
Usage
dfpower(
object,
df,
fixed,
xpowers,
ypowers,
FUN = BICadj,
maxIter = 50,
drop = TRUE,
verbose = FALSE
)
Arguments
object |
fitted sitar model to be updated. |
df |
vector of integer spline degrees of freedom to be fitted (defaults to |
fixed |
character vector of fixed effects to be included
(defaults to |
xpowers |
vector of powers to apply to x (defaults to the power of x in |
ypowers |
vector of powers to apply to y (defaults to the power of y in |
FUN |
function to be tabulated (default |
maxIter |
maximum number of iterations per fit (default |
drop |
logical which if TRUE (default) drops redundant dimensions and labels from the returned array. |
verbose |
logical controlling monitoring, which gives |
Details
xpowers and ypowers treat power 0 as log. The formula for
x in object must be of the form x^power or fun(x), e.g.
x, x^0.5 or log(x). More complex formulae e.g. log(x + 1)
will fail. In this case fit the model with the variable x1 = x + 1 instead.
FUN can be any function returning a single numerical value, e.g.
BICadj, BIC, AIC, varexp or sigma.
Other fixed effects in object for covariates in a.formula, b.formula,
c.formula or d.formula are propagated through all the models.
This also applies to the control argument if set in object.
The run-time can be shortened by reducing maxIter,
as models often converge quickly or not at all.
Value
Four-way array of returned values, ranked with the largest dimensions first, and by default with single-level dimensions dropped.
Values are returned with changed sign if the model fit generates a warning, or as NA if there is an error.
Author(s)
Tim Cole tim.cole@ucl.ac.uk
See Also
aperm transposes the returned array;
addmargins adds margins.
Examples
data(heights)
m1 <- sitar(x = age, y = height, id = id, data = heights, df = 4)
dfpower(m1, df = 4:6, fixed = c('a', 'a+b', 'a+c', 'a+b+c'),
xpowers = 0:1, ypowers = 0:1, maxIter = 8)