The function 'jskm()' creates publication quality Kaplan-Meier plot with at risk tables below. 'svyjskm()' provides plot for weighted Kaplan-Meier estimator.
Kaplan-Meier Plot with 'ggplot2': 'survfit' and 'svykm' objects from 'survival' and 'survey' packages.
install.packages("jskm")install.packages("remotes")remotes::install_github("jinseob2kim/jskm")library(jskm)
#Load datasetlibrary(survival)data(colon)fit <- survfit(Surv(time,status)~rx, data=colon)#Plot the datajskm(fit)
jskm(fit, table = T, pval = T, label.nrisk = "No. at risk", size.label.nrisk = 8,xlabs = "Time(Day)", ylabs = "Survival", ystratalabs = c("Obs", "Lev", "Lev + 5FU"), ystrataname = "rx",marks = F, timeby = 365, xlims = c(0, 3000), ylims = c(0.25, 1))
jskm(fit, ci = T, cumhaz = T, mark = F, ylab = "Cumulative hazard (%)", surv.scale = "percent", pval =T, pval.size = 6, pval.coord = c(300, 0.7))
svykm.object
in survey packagelibrary(survey)data(pbc, package="survival")pbc$randomized <- with(pbc, !is.na(trt) & trt>0)biasmodel <- glm(randomized~age*edema,data=pbc)pbc$randprob <- fitted(biasmodel)dpbc<-svydesign(id=~1, prob=~randprob, strata=~edema, data=subset(pbc,randomized))s1 <-svykm(Surv(time,status>0) ~ 1, design = dpbc)s2 <-svykm(Surv(time,status>0) ~ sex, design = dpbc)svyjskm(s1)
svyjskm(s2, pval = T, table = T, design = dpbc)
svyjskm(s2, cumhaz = T, ylab = "Cumulative (%)", surv.scale = "percent", pval = T, design = dpbc, pval.coord = c(300, 0.7))
If you want to get confidence interval, you should apply se = T
option to svykm
object.
s3 <- svykm(Surv(time,status>0) ~ sex, design=dpbc, se = T)svyjskm(s3)
svyjskm(s3, ci = F)
The p-value is expressed as the value rounded to the 3rd decimal place.
Add pval.testname option, p-value is expressed with (Log-rank) text if pval.testname == T.
svyjskm
. The number at risk is no-weighted values (same to jskm
).svyjskm
.Update travis-ci.
Add appveyor CI to test window environment.
Change ||
, &&
to |
, &
for Debian environment.
Set some variable's initial values to NULL
for cran release.
Remove gray rectangle above the Number at risk table.
Change p-value position according ylims option.
Add Numbers at risk label option to jskm
: label.nrisk
, size.label.nrisk
.
Add percent scale option : surv.scale
.
Add pvalue position & font size option : pval.size
, pval.coord
Add ci option to svyjskm
.
Get p-value without design option in svyjskm
svyjskm
: Weighted Kaplan-Meier plot - svykm.object
in survey packagefrailty
, cluster
options and their p value