Compute jackknife pseudo values.
Arguments
- object
Object of class
"prodlim".- times
Time points at which to compute pseudo values.
- cause
Character (other classes are converted with
as.character). For competing risks the cause of failure.- keepResponse
If
TRUEadd the model response, i.e. event time, event status, etc. to the result.- ...
not used
Details
Compute jackknife pseudo values based on marginal Kaplan-Meier estimate of survival, or based on marginal Aalen-Johansen estimate of the absolute risks, i.e., the cumulative incidence function.
Note
The R-package pseudo does a similar job, and appears to be a little faster in small samples, but much slower in large samples. See examples.
References
Andersen PK & Perme MP (2010). Pseudo-observations in survival analysis Statistical Methods in Medical Research, 19(1), 71-99.
Author
Thomas Alexander Gerds <[email protected]>
Examples
## pseudo-values for survival models
d=SimSurv(20)
f=prodlim(Hist(time,status)~1,data=d)
jackknife(f,times=c(3,5))
#> t.3 t.5
#> [1,] 1.000000e+00 1.000000e+00
#> [2,] 1.000000e+00 1.000000e+00
#> [3,] 1.000000e+00 -1.776357e-15
#> [4,] 1.000000e+00 -1.776357e-15
#> [5,] 1.000000e+00 -1.776357e-15
#> [6,] 1.000000e+00 1.000000e+00
#> [7,] 1.000000e+00 1.000000e+00
#> [8,] 1.000000e+00 -1.776357e-15
#> [9,] -1.776357e-15 -1.776357e-15
#> [10,] 1.000000e+00 -1.776357e-15
#> [11,] 1.000000e+00 1.000000e+00
#> [12,] 1.000000e+00 -1.776357e-15
#> [13,] 1.000000e+00 1.000000e+00
#> [14,] 1.000000e+00 1.000000e+00
#> [15,] -1.776357e-15 -1.776357e-15
#> [16,] -1.776357e-15 -1.776357e-15
#> [17,] 1.000000e+00 1.000000e+00
#> [18,] -1.776357e-15 -1.776357e-15
#> [19,] 1.000000e+00 -1.776357e-15
#> [20,] 1.000000e+00 1.000000e+00
## in some situations it may be useful to attach the
## the event time history to the result
jackknife(f,times=c(3,5),keepResponse=TRUE)
#> time status t.3 t.5
#> 1 5.478666 1 1.000000e+00 1.000000e+00
#> 2 7.898258 1 1.000000e+00 1.000000e+00
#> 3 3.045413 1 1.000000e+00 -1.776357e-15
#> 4 4.048349 1 1.000000e+00 -1.776357e-15
#> 5 3.378137 1 1.000000e+00 -1.776357e-15
#> 6 4.256870 0 1.000000e+00 1.000000e+00
#> 7 8.640206 1 1.000000e+00 1.000000e+00
#> 8 4.223781 1 1.000000e+00 -1.776357e-15
#> 9 2.610378 1 -1.776357e-15 -1.776357e-15
#> 10 4.031592 1 1.000000e+00 -1.776357e-15
#> 11 5.003768 1 1.000000e+00 1.000000e+00
#> 12 3.404319 1 1.000000e+00 -1.776357e-15
#> 13 7.233292 1 1.000000e+00 1.000000e+00
#> 14 9.174672 0 1.000000e+00 1.000000e+00
#> 15 1.917227 1 -1.776357e-15 -1.776357e-15
#> 16 1.500404 1 -1.776357e-15 -1.776357e-15
#> 17 8.726320 0 1.000000e+00 1.000000e+00
#> 18 1.902949 1 -1.776357e-15 -1.776357e-15
#> 19 4.130477 1 1.000000e+00 -1.776357e-15
#> 20 5.658048 0 1.000000e+00 1.000000e+00
# pseudo-values for competing risk models
set.seed(15)
d=SimCompRisk(15)
f=prodlim(Hist(time,event)~1,data=d)
jackknife(f,times=c(3,5),cause=1)
#> t.3 t.5
#> [1,] -2.380952e-02 -4.761905e-02
#> [2,] 8.881784e-16 0.000000e+00
#> [3,] -2.380952e-02 -4.761905e-02
#> [4,] -2.380952e-02 -4.761905e-02
#> [5,] 1.142857e+00 1.119048e+00
#> [6,] 8.881784e-16 1.776357e-15
#> [7,] -2.380952e-02 1.119048e+00
#> [8,] 1.000000e+00 1.000000e+00
#> [9,] 1.428571e-01 2.857143e-01
#> [10,] 1.000000e+00 1.000000e+00
#> [11,] 1.000000e+00 1.000000e+00
#> [12,] -2.380952e-02 -4.761905e-02
#> [13,] 1.000000e+00 1.000000e+00
#> [14,] -2.380952e-02 -4.761905e-02
#> [15,] 1.000000e+00 1.000000e+00
jackknife(f,times=c(1,3,5),cause=2)
#> t.1 t.3 t.5
#> [1,] 0 4.440892e-16 4.440892e-16
#> [2,] 1 1.000000e+00 1.000000e+00
#> [3,] 0 4.440892e-16 4.440892e-16
#> [4,] 0 4.440892e-16 4.440892e-16
#> [5,] 0 4.440892e-16 4.440892e-16
#> [6,] 0 1.000000e+00 1.000000e+00
#> [7,] 0 4.440892e-16 4.440892e-16
#> [8,] 0 4.440892e-16 4.440892e-16
#> [9,] 0 4.440892e-16 4.440892e-16
#> [10,] 0 4.440892e-16 4.440892e-16
#> [11,] 0 4.440892e-16 4.440892e-16
#> [12,] 0 4.440892e-16 4.440892e-16
#> [13,] 0 4.440892e-16 4.440892e-16
#> [14,] 0 4.440892e-16 4.440892e-16
#> [15,] 0 4.440892e-16 4.440892e-16