FHtestics: The Fleming-Harrington test for interval-censored data based...

Description Usage Arguments Details Value Warning Author(s) References See Also Examples

View source: R/FHtestics.R

Description

The FHtestics function performs a test for interval-censored data based on a score vector distribution. It uses the G-ρ family of statistics (being λ = 0) for testing the differences of two or more survival curves.

Usage

1
2
3
4
5
## Default S3 method:
FHtestics(L, R, group, rho = 0, lambda = 0, alternative, tol = 10^-8, icFIT = NULL,
          initfit = NULL, icontrol = icfitControl(), Lin = NULL, Rin = NULL, ...)
## S3 method for class 'formula'
FHtestics(formula, data, subset, na.action, ...)

Arguments

L

Numeric vector of the left endpoints of the censoring intervals (equivalent to the first element of Surv when type = "interval2").

R

Numeric vector of the right endpoints of the censoring intervals (equivalent to the second element of Surv when type = "interval2").

group

A vector denoting the group variable for which the test is desired. If group is a factor or character, then a k-sample test is performed, where k is the number of unique values of group. If group is numeric, then a trend ("correlation" type) test is performed. If there are only two groups, both methods give the same results.

rho

A scalar parameter that controls the type of test (see details).

lambda

A scalar parameter that controls the type of test. With this method, lambda has to be zero.

alternative

Character giving the type of alternative hypothesis for two-sample and trend tests: "different", "increasing" or "decreasing" survival functions. For the k-sample case, "different" should be chosen.

tol

Tolerance for the calculation of the g-inverse. Values less than tol are set to zero.

icFIT

A precalculated icfit object for increased computation speed. This should be the icfit from the pooled data. Normally initfit should be used instead (see Warning below).

initfit

An object of class icfit or icsurv or a character vector giving a function name, used for the initial estimate (see Warning below). Ignored if icFIT is not NULL.

icontrol

List of arguments for controling the NPMLE algorithm in call to icfit. Default value is icfitControl.

Lin

Logical vector: should L be included in the interval?

Rin

Logical vector: should R be included in the interval?

formula

A formula with a numeric vector as response (which assumes no censoring) or Surv object. The right side of the formula is the group variable. No strata() is allowed.

data

Data frame for variables in formula.

subset

An optional vector specifying a subset of observations to be used.

na.action

A function that indicates what should happen if the data contain NAs. Default value is set to getOption("na.action").

...

Additional arguments.

Details

The appropriate selection of the parameter rho gives emphasis to early hazard differences. For instance, in a given clinical trial, if one would like to assess whether the effect of a treatment or therapy on the survival is stronger at the earlier phases of the therapy, we should choose rho>0 emphasizing stronger early differences.

The censoring in the default case (when Lin = Rin = NULL) assumes there are n (n = length(L)) failure times, and the ith one is in the interval between L[i] and R[i]. The default is not to include L[i] in the interval unless L[i] = R[i], and to include R[i] in the interval unless R[i] = Inf. When Lin and Rin are not NULL they describe whether to include L and R in the associated interval. If either Lin or Rin is length 1 then it is repeated n times, otherwise they should be logicals of length n.

It is difficult to prove the asymptotic validity of the standard score tests for this likelihood, because the number of nuisance parameters typically grows with the sample size and often many of the parameters are equal at the nonparametric MLE, i.e., they are on the boundary of the parameter space (Fay, 1996). Specifically, when the score test is performed, an adjustment is made so that the nuisance parameters are defined based on the data and do not approach the boundary of the parameter space (see Fay, 1996). Theoretically, the score test should perform well when there are many individuals but few observation times, and its advantage in this situation is that it retains validity even when the censoring mechanism may depend on the treatment.

Value

information

Full description of the test.

data.name

Description of data variables.

n

Number of observations in each group.

fit

Object of class icfit giving the NPMLE of all responses combined (ignoring the group variable).

diff

The weighted observed minus expected number of events in each group.

scores

Vector with the same length as L and R, containing the rank scores (see Oller and G<f3>mez, 2012).

statistic

Either the chi-square or Z statistic.

var

The variance matrix of the test.

d2L.dB2

Second derivative of the log-likelihood with respect to β.

d2L.dgam2

Second derivative of the log-likelihood with respect to γ.

d2L.dBdgam

Derivative of the log-likelihood with respect to β and γ.

alt.phrase

Phrase used to describe the alternative hypothesis.

pvalue

p-value associated with the alternative hypothesis.

p.conf.int

Confidence interval of p-value. For method = "exact.mc" only.

call

The matched call.

Warning

Since the input of icFIT is only for saving computational time, no checks are carried out to determine if the icFIT is in fact the correct one. Thus, one may get wrong answers with no warnings if the wrong icFIT object is chosen. A safer way to save computational time is to choose for initfit either a precalculated icfit object or an icsurv object from a function in the Icens package such as EMICM. If this is done, either the correct answer or a warning will be returned even if a bad guess for initfit is chosen. Additionally, one may specify a function name for initfit. The default is NULL which uses a simple initial fit function (the weighted average of the A matrix, see the code of icfit.default (Package interval)). A fast but somewhat unstable function uses initcomputeMLE which uses function computeMLE of the 'MLEcens' package. See the help for icfit for details on the initfit option.

Author(s)

R. Oller and K. Langohr

References

Fay, M. P. (1996). Rank invariant tests for interval-censored data under the grouped continuous model. Biometrics 52, 811–822.

Fay, M. P. (1999). Comparing several score tests for interval-censored data. Statistics in Medicine 18, 273–285.

G<f3>mez, G., Calle, M. L., Oller, R. and Langohr, K. (2009). Tutorial on methods for interval-censored data and their implementation in R. Statistical Modelling 9, 259–297.

Oller, R. and G<f3>mez, G. (2012). A generalized Fleming and Harrington's class of tests for interval-censored data. The Canadian Journal of Statistics 40, 501–516.

Oller, R. and Langohr, K. (2017). FHtest: An R Package for the Comparison of Survival Curves with Censored Data. Journal of Statistical Software 81, 1–25.

See Also

FHtesticp, icfit (Package interval), icsurv (Package Icens).

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## Two-sample tests
data(bcos)
FHtestics(Surv(left, right, type = "interval2") ~ treatment, data = bcos)
FHtestics(Surv(left, right, type = "interval2") ~ treatment, data = bcos, rho = 1)

data(duser)
FHtestics(Surv(left, right, type = "interval2") ~ as.numeric(age > 21), data = duser, 
          rho = 1, Lin = TRUE, Rin = TRUE, subset = (zper == 3), 
          icontrol = icfitControl(maxit = 100000))

## Trend test
data(illust3)
FHtestics(Surv(left, right, type = "interval2") ~ group, data = illust3,
          subset = c(1:100, 601:700, 1201:1300), rho = 2, Lin = TRUE, Rin = TRUE,
          alternative = "increasing")

## K-sample test
FHtestics(Surv(left, right, type = "interval2") ~ as.factor(group), data = illust3,
          subset = c(1:100, 601:700, 1201:1300), rho = 3, Lin = TRUE, Rin = TRUE)

Example output

Loading required package: interval
Loading required package: survival
Loading required package: perm
Loading required package: Icens
Loading required package: MLEcens
Loading required package: KMsurv

	Two-sample test for interval-censored data

Parameters: rho=0, lambda=0
Distribution: score vector approach

Data: Surv(left, right, type = "interval2") by treatment

                   N   O-E
treatment=Rad     46 -9.94
treatment=RadChem 48  9.94

Statistic Z= 2.8, p-value= 0.00501
Alternative hypothesis: survival functions not equal


	Two-sample test for interval-censored data

Parameters: rho=1, lambda=0
Distribution: score vector approach

Data: Surv(left, right, type = "interval2") by treatment

                   N   O-E
treatment=Rad     46 -5.66
treatment=RadChem 48  5.66

Statistic Z= 2.2, p-value= 0.0261
Alternative hypothesis: survival functions not equal


	Two-sample test for interval-censored data

Parameters: rho=1, lambda=0
Distribution: score vector approach

Data: Surv(left, right, type = "interval2") by as.numeric(age > 21)

                         N   O-E
as.numeric(age > 21)=0 192  8.36
as.numeric(age > 21)=1 114 -8.36

Statistic Z= -2.1, p-value= 0.0385
Alternative hypothesis: survival functions not equal


	Trend FH test for interval-censored data

Parameters: rho=2, lambda=0
Distribution: score vector approach

Data: Surv(left, right, type = "interval2") by group

          N   O-E
group=1 100  7.33
group=2 100 -2.07
group=3 100 -5.26

Statistic Z= -2.2, p-value= 0.0145
Alternative hypothesis: increasing survival functions (higher group implies later event times)


	K-sample test for interval-censored data

Parameters: rho=3, lambda=0
Distribution: score vector approach

Data: Surv(left, right, type = "interval2") by as.factor(group)

                     N   O-E
as.factor(group)=1 100  5.65
as.factor(group)=2 100 -1.45
as.factor(group)=3 100 -4.21

Chisq= 4.2 on 2 degrees of freedom, p-value= 0.122
Alternative hypothesis: survival functions not equal

FHtest documentation built on Oct. 23, 2020, 5:21 p.m.