tvar: Expand Time-varying covariates in models

Description Usage Arguments Value Author(s) See Also Examples

View source: R/tvar.r

Description

Expands a vector of time-varying values into a 2-d matrix for use in MRA model formulas.

Usage

1
tvar(x, nan=attr(x,"nan"), drop.levels=attr(x,"drop.levels"))

Arguments

x

The vector of time varying values to expand. This can be a factor (see as.factor). It is assumed that length(x) = number of sampling occasions. If not, an error will occur in whatever routine called this function (e.g., F.3d.model.matrix).

nan

Number of individuals. Default is to use the 'nan' attribute of x. If nan is not specified or is not an attribute of x, an error is thrown.

drop.levels

A vector of integers specifying which levels of a factor to drop. Only applicable if x is a factor. By default, the the 'drop.levels' attribute of x is used. If x does not have a 'drop.levels' attribute, the first level of the factor is dropped. drop.levels=length(levels(x)) does the SAS thing and drops the last level of a factor. Specifying multiple levels to drop is acceptable. E.g., drop.levels=c(1,2,7) drops the 1st, 2nd, and 7th levels of the factor. First level of a factor is first element of levels(x). Second level of a factor is second element of levels(x), and so on. Setting drop.levels to 0, a negative number, or a number greater than the number of levels will not drop any levels (this is so-called cell mean coding). Keep in mind presence of the intercept.

Value

A 2-d matrix of size nan x length(x) suitable for passing to the Fortran DLL of MRA for estimation. Values within columns are constant, values across columns vary according to x. If x is a factor, this matrix contains 0-1 indicator functions necessary to fit the factor.

If x is a factor, attributes of the returned matrix are "levels" = levels of the factor and "contr" = contrasts used in the coding (always contr.treatment). For other contrast coding of factors, make your own 2-d matrix with a call to the appropriate function (like contr.poly).

Author(s)

Trent McDonald, WEST-INC, [email protected]

See Also

F.cjs.estim, tvar

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
nan <- 30
ns <- 5
time.occ <- as.factor(paste("T",1:ns, sep=""))
attr(time.occ,"nan") <- nan
attr(time.occ,"drop.levels") <- ns

time.mat <- tvar(time.occ) # Last occasion is the reference, the SAS and MARK default.

time.mat <- tvar(as.factor(1:ns),nan,ns) #equivalent to above.

#   Look at 3-d matrix produced when called with factors
dim(time.mat) <- c(nan,ns,length(levels(time.occ))-1)
print(time.mat)  # each page is the 2-d matrix used in the fit.
print(time.mat[1,,])

#  compare above to 
tvar( 1:ns, nan )

mra documentation built on Jan. 5, 2018, 5:03 p.m.