statefig(layout, connect, margin = 0.03, box = TRUE, cex = 1, col = 1,
lwd=1, lty=1, bcol=col, acol=col, alwd=lwd, alty=lty)
connect[i,j] !=0
then an arrow is drawn from state i to
state j. The row names of the matrix are used as the labels for the
states.
layout
argument is normally a vector of integers, e.g., the
vector (1, 3, 2) describes a layout with 3 columns. The first has a
single state, the second column has 3 states and the third has 2.
The coordinates of the plotting region are 0 to 1 for both x and y.
Within a column the centers of the boxes are evenly spaced, with 1/2 a
space between the boxes and the margin, e.g., 4 boxes would be at 1/8,
3/8, 5/8 and 7/8. If layout
were a 1 column matrix with values
of (1, 3, 2) then the layout will have three rows with 1, 3, and 2
boxes per row, respectively. Alternatively, the user can supply a
2 column matrix that directly gives the centers. The values of the connect matrix should be 0 for pairs of states that
do not have a transition and values between 0 and 2 for those that do.
States are connected by an arc that passes through the centers of the
two boxes and a third point that is between them. Specifically,
consider a line segment joining the two centers and erect a second
segment at right angles to the midpoint of length d times the distance
from center to midpoint. The arc passes through this point. A value
of d=0 gives a straight line, d=1 a right hand half circle centered
on the midpoint and d= -1 a left hand half circle.
The connect
matrix contains values of d+1 with -1 < d < 1.# Draw a simple competing risks figure
states <- c("Entry", "Complete response", "Relapse", "Death")
connect <- matrix(0, 4, 4, dimnames=list(states, states))
connect[1, -1] <- c(1.1, 1, 0.9)
statefig(c(1, 3), connect)
Run the code above in your browser using DataLab