| make.communal {eha} | R Documentation |
Put communals in "fixed" data frame
Description
Given an ordinary data frame suitable for survival analysis, and a data frame with "communal" time series, this function includes the communal covariates as fixed, by the "cutting spells" method.
Usage
make.communal(
dat,
com.dat,
communal = TRUE,
start,
period = 1,
lag = 0,
surv = c("enter", "exit", "event", "birthdate"),
tol = 1e-04,
fortran = TRUE
)
Arguments
dat |
A data frame containing interval specified survival data and covariates, of which one must give a "birth date", the connection between duration and calendar time |
com.dat |
Data frame with communal covariates. They must have the same
start year and periodicity, given by |
communal |
Boolean; if TRUE, then it is a true communal (default),
otherwise a fixed. The first component is the first year (start date in
decimal form), and the second component is the period length. The third is
|
start |
Start date in decimal form. |
period |
Period length. Defaults to one. |
lag |
The lag of the effect. Defaults to zero. |
surv |
Character vector of length 4 giving the names of interval start,
interval end, event indicator, birth date, in that order. These names must
correspond to names in |
tol |
Largest length of an interval considered to be of zero length. The cutting sometimes produces zero length intervals, which we want to discard. |
fortran |
If |
Details
The main purpose of this function is to prepare a data file for use with
coxreg, aftreg, and
coxph.
Value
The return value is a data frame with the same variables as in the
combination of dat and com.dat. Therefore it is an error to
have common name(s) in the two data frames.
Note
Not very vigorously tested.
Author(s)
Göran Broström
See Also
coxreg, aftreg,
coxph, cal.window
Examples
dat <- data.frame(enter = 0, exit = 5.731, event = 1,
birthdate = 1962.505, x = 2)
## Birth date: July 2, 1962 (approximately).
com.dat <- data.frame(price = c(12, 3, -5, 6, -8, -9, 1, 7))
dat.com <- make.communal(dat, com.dat, start = 1962.000)