Reported by @marije-sluiskes , see reproducible example below:
library(mstate)
#> Warning: package 'mstate' was built under R version 4.3.2
#> Loading required package: survival
#> Warning: package 'survival' was built under R version 4.3.2
n <- 2000
X <- rbinom(n = n, size = 1, prob = 0.5)
dat <- cbind.data.frame(
time = rexp(n, rate = exp(0.5 * X)),
status = 1,
X
)
tmat <- transMat(list(c(2), c()), c("alive", "dead"))
tmat
#> to
#> from alive dead
#> alive NA 1
#> dead NA NA
msdat <- msprep(
time = c(NA, "time"),
status = c(NA, "status"),
data = dat,
keep = "X",
trans = tmat
)
# strata(trans) not necessary ofc but msfit() requires formula to have it
mod <- coxph(
Surv(Tstart, Tstop, status) ~ strata(trans),
data = msdat,
method = "breslow"
)
newpat <- msdat[4, ]
newpat$strata <- newpat$trans
msf <- msfit(
object = mod,
newdata = newpat,
vartype = "greenwood",
trans = tmat
)
#> Error in data.frame(time = sf0$time, Haz = -log(sf0$surv), norisk = norisk, : arguments imply differing number of rows: 2000, 0
Reported by @marije-sluiskes , see reproducible example below:
Created on 2024-06-14 with reprex v2.0.2