# A small bogus cohort
xcoh <- structure(list( id = c("A", "B", "C"),
birth = c("14/07/1952", "01/04/1954", "10/06/1987"),
entry = c("04/08/1965", "08/09/1972", "23/12/1991"),
exit = c("27/06/1997", "23/05/1995", "24/07/1998"),
fail = c(1, 0, 1) ),
.Names = c("id", "birth", "entry", "exit", "fail"),
row.names = c("1", "2", "3"),
class = "data.frame")
# Convert the character dates into numerical variables (fractional years)
xcoh <- cal.yr(xcoh, format="%d/%m/%Y", wh=2:4)
# xcoh <- cal.yr(xcoh, format="%d/%m/%Y", wh=2:4)
# See how it looks
xcoh
str( xcoh )
# Define a Lexis object with timescales calendar time and age
Lcoh <- Lexis(entry = list(per = entry ),
exit = list(per = exit,
age = exit - birth),
exit.status = fail,
data = xcoh)
# Using character states may have undesired effects:
xcoh$Fail <- c("Dead","Well","Dead")
xcoh
L1 <- Lexis(entry = list(per = entry),
exit = list(per = exit,
age = exit - birth),
exit.status = Fail,
data = xcoh)
L1
# people start being dead!
# ...unless you order the levels sensibly
xcoh$Fail <- factor(xcoh$Fail, levels = c("Well", "Dead"))
L2 <- Lexis(entry = list(per = entry),
exit = list(per = exit,
age = exit - birth),
exit.status = Fail,
data = xcoh)
L2
# behaviour of print method:
L2[,1:6]
L2[,6:1]
print(L2[,6:1], org=TRUE)
(print(L2[,-3]))
Run the code above in your browser using DataLab