Function KScens
computes the Kolmogorov-Smirnov statistic and p-value for complete
and right-censored data against eight possible distributions.
# S3 method for default
KScens(times, cens = rep(1, length(times)),
distr = c("exponential", "gumbel", "weibull", "normal",
"lognormal", "logistic", "loglogistic", "beta"),
betaLimits = c(0, 1), igumb = c(10, 10), degs = 3,
params0 = list(shape = NULL, shape2 = NULL, location = NULL,
scale = NULL), ...)
# S3 method for formula
KScens(formula, data, ...)
KScens
returns an object of class
"KScens"
.
An object of class "KScens"
is a list containing the following components:
Distribution
Null distribution.
Null hypothesis
Parameters under the null hypothesis (if params0
is provided).
A
Value of the modified Kolmogorov-Smirnov statistic.
p-value
P-value.
F(y_m)
Estimation of the image of the last recorded time.
y_m
Last recorded time.
Parameters
List with the maximum likelihood estimates of the parameters of the distribution under study.
Numeric vector of times until the event of interest.
Status indicator (1, exact time; 0, right-censored time). If not provided, all times are assumed to be exact.
A string specifying the name of the distribution to be studied.
The possible distributions are the exponential ("exponential"
),
the Weibull ("weibull"
), the Gumbel ("gumbel"
),
the normal ("normal"
), the lognormal ("lognormal"
),
the logistic ("logistic"
), the loglogistic ("loglogistic"
),
and the beta ("beta"
) distribution.
Two-components vector with the lower and upper bounds of the Beta distribution. This argument is only required, if the beta distribution is considered.
Two-components vector with the initial values for the estimation of the Gumbel distribution parameters.
Integer indicating the number of decimal places of the numeric results of the output.
List specifying the parameters of the theoretical distribution.
By default, parameters are set to NULL
and estimated with
the maximum likelihood method. This argument is only considered,
if all parameters of the studied distribution are specified.
A formula with a numeric vector as response (which assumes no censoring) or Surv
object.
Data frame for variables in formula
.
Additional arguments.
K. Langohr, M. Besalú, M. Francisco, G. Gómez.
Fleming et al. (1980) proposed a modified Kolmogorov-Smirnov test to use with right-censored data. This function reproduces this test for a given survival data and a theorical distribution. The p-value is computed following the results of Koziol and Byar (1975) and the output of the function follows the notation of Fleming et al. (1980).
In presence of ties, different authors provide slightly different definitions of \(\widehat{F}_n(t)\), with which other values of the test statistic might be obtained.
An alternative with complete data is the function
ks.test
of the stats package.
The parameter estimation is acomplished with the fitdistcens
function of the fitdistrplus package.
T. R. Fleming et al. Modified Kolmogorov-Smirnov test procedure with application to arbitrarily right-censored data. In: Biometrics 36 (1980), 607-625.
J.A. Koziol and P. Byar. Percentage Points of the Asymptotic Distributions of One and Two Sample K-S statistics for Truncated or Censored Data. In: Technometrics 17 (4) (1975), 507-510.
Function ks.test (Package stats) for complete data and gofcens for statistics and p-value of Kolmogorov-Smirnov, Cramér von-Mises and Anderson-Darling together for right-censored data.
# Complete data
set.seed(123)
KScens(times = rweibull(1000, 12, scale = 4), distr = "weibull")
# Censored data
KScens(Surv(time, status) ~ 1, colon, distr = "norm")
data(nba)
KScens(Surv(survtime, cens) ~ 1, nba, "logis", degs = 2)
KScens(Surv(survtime, cens) ~ 1, nba, "beta", betaLimits = c(0, 80))
Run the code above in your browser using DataLab