View source: R/testIndepTimeMark.R
testIndepTimeMark | R Documentation |
A nonparametric Komogorov-Smirnov-type test of the null hypothesis that the time-to-event T and a possibly multivariate mark V are conditionally independent given treatment Z as described in Juraska and Gilbert (2013). The conditional independence is a necessary assumption for parameter identifiability in the time-independent density ratio model. A bootstrap algorithm is used to compute the p-value.
testIndepTimeMark(data, iter = 1000)
data |
a data frame restricted to subjects in a given treatment group with the following columns (in this order): the observed right-censored time to the event of interest, the event indicator (1 if event, 0 if right-censored), and the mark variable (one column for each component, if multivariate) |
iter |
the number of bootstrap iterations (1000 by default) used for computing the p-value |
The test statistic is the supremum of the difference between the estimated conditional joint cumulative distribution function (cdf) of (T,V) given Z and the product of the estimated conditional cdfs of T and V given Z. The joint cdf is estimated by the nonparametric maximum likelihood estimator developed by Huang and Louis (1998). The marginal cdf of T is estimated as one minus the Kaplan-Meier estimator for the conditional survival function of T, and the cdf of V is estimated as the empirical cdf of the observed values of V. A bootstrap algorithm is used to compute the p-value.
Returns the bootstrap p-value from the test of conditional independence between T and V given Z.
Juraska, M. and Gilbert, P. B. (2013), Mark-specific hazard ratio model with multivariate continuous marks: an application to vaccine efficacy. Biometrics 69(2):328–337.
Huang, Y. and Louis, T. (1998), Nonparametric estimation of the joint distribution of survival time and mark variables. Biometrika 85, 785–798.
n <- 500 tx <- rep(0:1, each=n/2) tm <- c(rexp(n/2, 0.2), rexp(n/2, 0.2 * exp(-0.4))) cens <- runif(n, 0, 15) eventTime <- pmin(tm, cens, 3) eventInd <- as.numeric(tm <= pmin(cens, 3)) mark1 <- ifelse(eventInd==1, c(rbeta(n/2, 2, 5), rbeta(n/2, 2, 2)), NA) mark2 <- ifelse(eventInd==1, c(rbeta(n/2, 1, 3), rbeta(n/2, 5, 1)), NA) # perform the test for a univariate mark in the placebo group testIndepTimeMark(data.frame(eventTime, eventInd, mark1)[tx==0, ], iter=20) # perform the test for a bivariate mark in the placebo group testIndepTimeMark(data.frame(eventTime, eventInd, mark1, mark2)[tx==0, ], iter=20)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.