
Last chance! 50% off unlimited learning
Sale ends in
"plot"(x=Lexis( entry=list(Date=1900,Age=0), exit=list(Age=0) ), time.scale = NULL, type="l", breaks="lightgray", ...)
"points"(x, time.scale = options()[["Lexis.time.scale"]] , ...)
"lines"(x, time.scale = options()[["Lexis.time.scale"]], ...)
"PY.ann"(x, time.scale = options()[["Lexis.time.scale"]], digits=1, ...)
Lexis
. The default is a bogus Lexis
object, so that plot.Lexis
can be called without the first
argument and still produce a(n empty) Lexis diagram. Unless arguments
xlim
and ylim
are given in this case the diagram is
looking pretty daft.NULL
to the breaks
argument Grids can be drawn (behind the life lines) using the following
parameters in plot
:
grid
If logical, a background grid is set up
using the axis ticks. If a list, the first component is used as
positions for the vertical lines and the last as positions for the
horizontal. If a nunerical vector, grids on both axes are set up
using the distance between the numbers.
col.grid="lightgray"
Color of the background grid.
lty.grid=2
Line type for the grid.
coh.grid=FALSE
Should a 45 degree grid be plotted?Lexis
objects traces ``life lines'' from
the start to the end of follow-up. The points
method plots
points at the end of the life lines. If time.scale
is of length 1, the life lines are drawn
horizontally, with the time scale on the X axis and the id value on the Y
axis. If time.scale
is of length 2, a Lexis diagram is
produced, with diagonal life lines plotted against both time scales
simultaneously.
If lex
has been split along one of the time axes by a call to
splitLexis
, then vertical or horizontal grid lines are plotted
(on top of the life lines) at the break points.
PY.ann
writes the length of each (segment of) life line at the middle
of the line. Not advisable to use with large cohorts. Another example is
in the example file for occup
.
Lexis
, splitLexis
# A small bogus cohort
xcoh <- structure( list( id = c("A", "B", "C"),
birth = c("14/07/1952", "01/04/1957", "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$bt <- cal.yr( xcoh$birth, format="%d/%m/%Y" )
xcoh$en <- cal.yr( xcoh$entry, format="%d/%m/%Y" )
xcoh$ex <- cal.yr( xcoh$exit , format="%d/%m/%Y" )
# See how it looks
xcoh
# Define as Lexis object with timescales calendar time and age
Lcoh <- Lexis( entry = list( per=en ),
exit = list( per=ex, age=ex-bt ),
exit.status = fail,
data = xcoh )
# Default plot of follow-up
plot( Lcoh )
# Show follow-up time
PY.ann( Lcoh )
# Show exit status
plot( Lcoh, type="b" )
# Same but failures only
plot( Lcoh, type="b", pch=c(NA,16)[Lcoh$fail+1] )
# With a grid and deaths as endpoints
plot( Lcoh, grid=0:10*10, col="black" )
points( Lcoh, pch=c(NA,16)[Lcoh$lex.Xst+1] )
# With a lot of bells and whistles:
plot( Lcoh, grid=0:20*5, col="black", xaxs="i", yaxs="i",
xlim=c(1960,2010), ylim=c(0,50), lwd=3, las=1 )
points( Lcoh, pch=c(NA,16)[Lcoh$lex.Xst+1], col="red", cex=1.5 )
Run the code above in your browser using DataLab