Nothing
library(survival)
testthat::test_that("rmdiff: unstratified test of rmst difference", {
df1 <- rmdiff(veteran, treat="trt", time="time",
event="status", milestone=90)
# the following values are obtained from SAS PROC LIFETEST:
# proc lifetest data=veteran rmst(tau=90);
# time time*status(0);
# strata trt;
# run;
rmst1 = 62.75618
rmst2 = 56.45116
stderr1 = 4.0321
stderr2 = 3.9790
rmstdiffchisq = 1.2388
pvalue = 0.2657
testthat::expect_equal(c(round(df1$rmst1, 5),
round(df1$rmst2, 5),
round(sqrt(df1$vrmst1), 4),
round(sqrt(df1$vrmst2), 4),
round(df1$rmstDiffZ^2, 4),
round(2*min(df1$rmstDiffPValue,
1-df1$rmstDiffPValue), 4)),
c(rmst1, rmst2, stderr1, stderr2,
rmstdiffchisq, pvalue))
})
testthat::test_that("rmdiff: stratified test of rmst difference", {
df1 <- rmdiff(veteran, stratum="celltype", treat="trt",
time="time", event="status", milestone=90)
# Of note, the stratified results are different from SAS PROC LIFETEST:
# proc lifetest data=veteran rmst(tau=90);
# time time*status(0);
# strata celltype / group = trt;
# run;
# This is because SAS adds up the rmst diffs and variances across strata,
# while we use the number of subjects as the weight for each stratum.
# Our approach yields a more meaningful rmst diff across strata.
# To reproduce our results, we combine the stratum-specific information
# from SAS PROC LIFETEST using the sample size weights across strata
n = c(15, 20, 30, 18, 9, 18, 15, 12)
rmst = c(68.55152, 65.95, 50.86667, 45.16667, 56.44444, 51.91667,
84.8, 64.25)
stderr = c(8.3317, 7.5975, 5.7978, 7.8103, 12.7986, 6.9569,
5.0237, 8.0847)
a = c(1, 3, 5, 7)
b = c(2, 4, 6, 8)
ns = n[a] + n[b]
rmstDiffs = rmst[a] - rmst[b]
vrmstDiffs = stderr[a]^2 + stderr[b]^2
w = ns/sum(ns)
rmstDiff = sum(w*rmstDiffs)
vrmstDiff = sum(w*w*vrmstDiffs)
rmstDiffZ = rmstDiff/sqrt(vrmstDiff)
testthat::expect_equal(c(round(df1$rmstDiff, 4),
round(sqrt(df1$vrmstDiff), 3),
round(df1$rmstDiffZ, 3)),
c(round(rmstDiff, 4),
round(sqrt(vrmstDiff), 3),
round(rmstDiffZ, 3)))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.