Title: | Permutation Test for Comparing Restricted Mean Survival Time |
---|---|
Description: | Performs the permutation test using difference in the restricted mean survival time (RMST) between groups as a summary measure of the survival time distribution. When the sample size is less than 50 per group, it has been shown that there is non-negligible inflation of the type I error rate in the commonly used asymptotic test for the RMST comparison. Generally, permutation tests can be useful in such a situation. However, when we apply the permutation test for the RMST comparison, particularly in small sample situations, there are some cases where the survival function in either group cannot be defined due to censoring in the permutation process. Horiguchi and Uno (2020) <doi:10.1002/sim.8565> have examined six workable solutions to handle this numerical issue. It performs permutation tests with implementation of the six methods outlined in the paper when the numerical issue arises during the permutation process. The result of the asymptotic test is also provided for a reference. |
Authors: | Miki Horiguchi, Hajime Uno |
Maintainer: | Miki Horiguchi <[email protected]> |
License: | GPL-2 |
Version: | 0.1.0 |
Built: | 2025-03-12 03:00:04 UTC |
Source: | https://github.com/cran/survRM2perm |
Performs the permutation test using difference in the restricted mean survival time (RMST) between groups as a summary measure of the survival time distribution. When the sample size is less than 50 per group, it has been shown that there is non-negligible inflation of the type I error rate in the commonly used asymptotic test for the RMST comparison. Generally, permutation tests can be useful in such a situation. However, when we apply the permutation test for the RMST comparison, particularly in small sample situations, there are some cases where the survival function in either group cannot be defined due to censoring in the permutation process. Horiguchi and Uno (2020) <doi:10.1002/sim.8565> have examined six workable solutions to handle this numerical issue. It performs permutation tests with implementation of the six methods outlined in the paper when the numerical issue arises during the permutation process. The result of the asymptotic test is also provided for a reference.
Miki Horiguchi, Hajime Uno
Maintainer: Miki Horiguchi <[email protected]>
Horiguchi M, Uno H. On permutation tests for comparing restricted mean survival time with small sample from randomized trials. Statistics in Medicine 2020.doi:10.1002/sim.8565.
survRM2 survival
#--- sample data ---# D = rmst2perm.sample.data() time = D$time status = D$status arm = D$arm tau = 34 mperm = c(1:6) nperm = 100 #--This number is only for the example. #--It is recommended to specify at least 100K (default) or larger. seed = 123 a = rmst2perm(time=time, status=status, arm=arm, tau=tau, mperm=mperm, nperm=nperm, seed=seed) print(a)
#--- sample data ---# D = rmst2perm.sample.data() time = D$time status = D$status arm = D$arm tau = 34 mperm = c(1:6) nperm = 100 #--This number is only for the example. #--It is recommended to specify at least 100K (default) or larger. seed = 123 a = rmst2perm(time=time, status=status, arm=arm, tau=tau, mperm=mperm, nperm=nperm, seed=seed) print(a)
S3 method for class 'rmst2perm'
## S3 method for class 'rmst2perm' print(x, digits = 3, ...)
## S3 method for class 'rmst2perm' print(x, digits = 3, ...)
x |
Object to be printed |
digits |
Integer indicating the number of decimal places |
... |
Further arguments ignored in this function |
returns summary output for class 'rmst2perm'
Performs the permutation test using difference in the restricted mean survival time (RMST) between groups as a summary measure of the survival time distribution. When the sample size is less than 50 per group, it has been shown that there is non-negligible inflation of the type I error rate in the commonly used asymptotic test for the RMST comparison. Generally, permutation tests can be useful in such a situation. However, when we apply the permutation test for the RMST comparison, particularly in small sample situations, there are some cases where the survival function in either group cannot be defined due to censoring in the permutation process. Horiguchi and Uno (2020) <doi:10.1002/sim.8565> have examined six workable solutions to handle this numerical issue. It performs permutation tests with implementation of the six methods outlined in the paper when the numerical issue arises during the permutation process. The result of the asymptotic test is also provided for a reference.
rmst2perm(time, status, arm, tau=NULL, mperm=c(1:6), nperm=100000, seed=NULL, asy="greenwood", test="2_side")
rmst2perm(time, status, arm, tau=NULL, mperm=c(1:6), nperm=100000, seed=NULL, asy="greenwood", test="2_side")
time |
The follow-up time for right censored data. |
status |
The event indicator, 1=event, and 0=censor. |
arm |
The group indicator for comparison with a value of either 0 or 1. Normally, 0=control group, 1=active treatment group. The three vectors ( |
tau |
A scaler value to specify the truncation time point for the RMST calculation. It needs to be smaller than the minimum value of the largest observed time in each of the two groups. |
mperm |
A vector with the numbers from 1 to 6 to specify the method for conducting the permutation test when the last observation time from either group does not reach the specified |
nperm |
The number of iterations for the resampling. It is recommended to specify at least 100,000 (default) or larger. |
seed |
An integer value, used for random number generation in the resampling procedure. Default is |
asy |
Specify the asymptotic variance estimator for the difference in RMST.
|
test |
Specify |
An object of class rmst2perm.
point_estimate |
Estimated RMST values for arm=1, arm=0, and their difference |
asymptotic_test_pval |
P-value of the asymptotic test for the difference in RMST |
permutation_test_methodX_pval |
P-value of the permutation test for the difference in RMST using Method X (X is the number specified in |
methodX_number_applied |
The number of times Method X was applied during the permutation process. (X is the number specified in |
method5_number_exponential_used |
The number of times the exponential distribution was used for the parametric fit during the permutations. Normally, the Weibull distribution is used for Method 5. However, when the maximum likelihood estimate (MLE) for the Weibull distribution cannot be derived or the hessian of the covariance matrix for the MLE is singular, the exponential distribution will be used. |
tau |
The truncation time used in the analysis |
mperm |
The method used to conduct the permutation test |
nperm |
The number of iterations for the resampling |
asy |
The type of the asymptotic variance estimator used for the asymptotic test |
test |
The type of test used in the analysis |
Miki Horiguchi, Hajime Uno
Horiguchi M, Uno H. On permutation tests for comparing restricted mean survival time with small sample from randomized trials. Statistics in Medicine 2020. doi:10.1002/sim.8565.
#--- sample data ---# D = rmst2perm.sample.data() time = D$time status = D$status arm = D$arm tau = 34 mperm = c(1:6) nperm = 100 #--This number is only for the example. #--It is recommended to specify at least 100K (default) or larger. seed = 123 a = rmst2perm(time=time, status=status, arm=arm, tau=tau, mperm=mperm, nperm=nperm, seed=seed) print(a)
#--- sample data ---# D = rmst2perm.sample.data() time = D$time status = D$status arm = D$arm tau = 34 mperm = c(1:6) nperm = 100 #--This number is only for the example. #--It is recommended to specify at least 100K (default) or larger. seed = 123 a = rmst2perm(time=time, status=status, arm=arm, tau=tau, mperm=mperm, nperm=nperm, seed=seed) print(a)
Generates a sample dataset of 26 randomized patients from the ovarian data.
rmst2perm.sample.data(t.unit="month")
rmst2perm.sample.data(t.unit="month")
t.unit |
Specify the time unit. It supports |
The function creates a sample dataset to illustrate the usage of the function rmst2perm()
in this package.
This function loads the ovarian data from the survival package, deriving three variables.
The variables in the dataset are as follows: time
, survival time in months;
status
, event indicator (0=censor, 1=event); arm
, treatment arm (0=cyclophosphamide, 1=cyclophosphamide+adriamycin).
returns a data frame
Collett, D. Modelling Survival Data in Medical Research. Chapman and Hall/CRC. 2015; page 213.
Edmonson JH, Fleming TR, Decker DG, et al. Different chemotherapeutic sensitivities and host factors affecting prognosis in advanced ovarian carcinoma versus minimal residual disease. Cancer Treat Rep. 1979;63(2):241-247.
ovarian
in survival package
D = rmst2perm.sample.data() head(D)
D = rmst2perm.sample.data() head(D)