Description Usage Arguments Details Value Author(s) Examples
Plot the transition probabilities produced by probs.l1mstate
1 2 3 4 |
x |
object produced from probs.l1mstate |
from |
the starting state from which the probabilities are used to plot |
type |
with "stacked" type, the transition probabilities are stacked and the distance between two adjacent curves indicates the probability; with "filled" type, it is the same but the space between adjacent curves are filled; with "single" type, the probabilities are shown as different curves in a single plot; with "separate" type, separate plots are shown for the estimated transition probabilities |
ord |
A vector indicates the order of plotting in case "stacked" or "filled" |
cols |
A vector specifying colors for the different transitions |
xlab |
A title for the x-axis; default is "Years since transplant" |
ylab |
A title for the y-axis; default is "Probability" |
xlim |
The x limits of the plot; default is range of time |
ylim |
The y limits of the plot |
lwd |
The line width; default is 3 |
lty |
The line type |
cex |
Character size |
legend |
The transition numbers; if missing, these will be taken from the transition matrix contained in cumhaz.l1mstate object. |
legend.pos |
The position of the legend; default is "topleft" |
bty |
The box type of the legend |
... |
Further arguments to plot |
A plot is produced, and nothing is returned.
No return value.
Xuan Dang xuandang11289@gmail.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | library(L1mstate)
set.seed(1001)
N <- 200
x1 <- rbinom(N, 1, .5)
x2 <- rbinom(N, 1, .5)
x3 <- rbinom(N, 1, .5)
x4 <- rbinom(N, 1, .5)
x5 <- rbinom(N, 1, .5)
x6 <- rbinom(N, 1, .5)
x <- data.frame(x1,x2,x3,x4,x5,x6)
col_names <- c(sprintf("X%d", seq(1,6)))
colnames(x) <- col_names
beta12 <- c(-.65,-.65,-.65,0,0,0)
beta13 <- c(-.65,0,0,0,-.65,0)
beta23 <- c(0,-.65,-.65,0,0,-.65)
N12 <- N-2*N%/%5
N13 <- N-N12
hx12 <- exp(as.matrix(x[1:N12,]) %*% beta12)
ty12 <- rexp(N12,hx12)
hx13 <- exp(as.matrix(x[(N12+1):N,]) %*% beta13)
ty13 <- rexp(N13,hx13)
hx23 <- exp(as.matrix(x[1:N12,]) %*% beta23)
ty23 <- rexp(N12,hx23)
t2 <- rep(0,N)
t2[1:N12] <- ty12
t2[(N12+1):N] <- ty13
s2 <- rep(0,N)
s2[1:N12] <- rep(1,N12)
t3 <- rep(0,N)
t3[1:N12] <- ty12+ty23
t3[(N12+1):N] <- ty13
#censor case for state 3
tcens3 <- rbinom(n=N, prob = 0.3, size = 1)
s3 <- 1-tcens3
# pre-process data into long-format using msprep
dt <- data.frame(illt=t2, ills=s2, dt=t3, ds=s3, x)
tmat <- matrix(c(NA,NA,NA,1,NA,NA,2,3,NA), nrow = 3)
longdt <- msprep(time=c(NA,"illt","dt"),status=c(NA,"ills","ds"),
keep = col_names, data=dt,trans=tmat)
out <- cv.l1mstateR(longdt, nlambda = 100, nfolds = 10)
ptsA <- longdt[which(longdt$X1==1 & longdt$X2==0 & longdt$X3==1 & longdt$X4==0
& longdt$X5==1 & longdt$X6==1),]
## observed transitions (ground truth)
# predicted time = 0
events(ptsA)
# use models to predict the transition probabilities
# L1MSTATE
ptA <- ptsA[which(ptsA$id == unique(ptsA$id)[1]),]
ptA <- ptA[,c(4,9:14)]
cumhazA <- cumhaz.l1mstate(object=out, longdt=longdt, newdata=ptA, cv.method="pcvl")
probA_0 <- probs.l1mstate(cumhazA, longdt = longdt, tmat, predt = 0, direction = "forward")
statecols <- heat_hcl(6, c = c(90, 10), l = c(20, 80), power = c(1/5, 2))[c(6, 5, 3, 4, 2, 1)]
ord <- c(1, 2, 3, 4, 5, 6)
plot.probs.l1mstate(probA_0, main = "L1MSTATE", from = 1, ord = ord,
las=1, cex=0, type = "filled", col = statecols[ord])
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.