make.communal {eha} | R Documentation |
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.
make.communal(dat, com.dat, communal = TRUE, start, period = 1, lag = 0, surv=c("enter", "exit", "event", "birthdate"), tol=1e-04, fortran=TRUE)
dat |
A data frame containing interval specified survival data and covariates, of which one must give a "birth date", the connection between duration and calendat time |
com.dat |
Data frame with communal covariates. They must have the
same start year and periodicity, given by com.ins |
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 lag and the fourth is
scale . |
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 dat |
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 TRUE , then a Fortran implementation of the
function is used. This is the default. This possibility is only for
debugging purposes. You should of course get identical results with
the two methods. |
The main purpose of this function is to prepare a data file for use with
coxreg
, aftreg
, and
coxph
.
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.
Not very vigorously tested.
Göran Broström
coxreg
, aftreg
,
coxph
, cal.window
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)