Learn R Programming

sitar (version 1.0.10)

xyadj: Adjust x and y variables for SITAR random effects

Description

xyadj Adjusts x and y values for subject-specific random effects from a SITAR model.

Usage

xyadj(object, x, y = NULL, id, abc = ranef(object)[id, , drop = FALSE],
  tomean = TRUE)

Arguments

object

a SITAR model.

x

a vector of x coordinates. If missing, x and y and id are obtained from object.

y

a vector of y coordinates (default NULL).

id

a factor denoting the subject levels corresponding to x and y.

abc

a data frame containing random effects for a, b and c (default ranef(object)[id, ]).

tomean

a logical defining the direction of adjustment. TRUE (default) indicates that individual curves are translated and rotated to match the mean curve, while FALSE indicates the reverse, the mean curve being translated and rotated to match individual curves.

Value

The list of adjusted values:

x

numeric vector.

y

numeric vector the same length as x, or NULL.

Details

When tomean = TRUE the x and y values are adjusted to $$(x - xoffset - b<fixed> - b<random>) * exp(c<random>) + xoffset + b<fixed>$$ $$y - a<random>$$ When tomean = FALSE they are adjusted to $$(x - xoffset - b<fixed>) / exp(c<random>) + xoffset + b<fixed> + b<random>$$ $$y + a<random>$$ In each case missing values of the fixed or random effects are set to zero.

Examples

Run this code
# NOT RUN {
data(heights)
## fit sitar model for height
m1 <- sitar(x=age, y=height, id=id, data=heights, df=5)

## plot unadjusted data as growth curves
plot(m1, opt='u')

## overplot with adjusted data as points
with(heights, points(xyadj(m1), col='red', pch=19))

# }

Run the code above in your browser using DataLab