Last updated on 2026-10-24 12:51:49 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 0.1.9 | 14.94 | 369.82 | 384.76 | OK | |
| r-devel-linux-x86_64-debian-gcc | 0.1.9 | 9.42 | 160.78 | 170.20 | ERROR | |
| r-devel-linux-x86_64-fedora-clang | 0.1.9 | 10.00 | 231.54 | 241.54 | OK | |
| r-devel-linux-x86_64-fedora-gcc | 0.1.9 | 9.00 | 232.10 | 241.10 | OK | |
| r-devel-windows-x86_64 | 0.1.9 | 19.00 | 369.00 | 388.00 | OK | |
| r-patched-linux-x86_64 | 0.1.9 | 15.32 | 343.20 | 358.52 | OK | |
| r-release-linux-x86_64 | 0.1.9 | 13.38 | 344.52 | 357.90 | OK | |
| r-release-macos-arm64 | 0.1.9 | 3.00 | 89.00 | 92.00 | OK | |
| r-release-macos-x86_64 | 0.1.9 | 10.00 | 425.00 | 435.00 | OK | |
| r-release-windows-x86_64 | 0.1.9 | 17.00 | 423.00 | 440.00 | OK | |
| r-oldrel-macos-arm64 | 0.1.9 | 4.00 | 112.00 | 116.00 | OK | |
| r-oldrel-macos-x86_64 | 0.1.9 | 10.00 | 357.00 | 367.00 | OK | |
| r-oldrel-windows-x86_64 | 0.1.9 | 22.00 | 566.00 | 588.00 | OK |
Version: 0.1.9
Check: examples
Result: ERROR
Running examples in ‘SuperSurv-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: SuperSurv
> ### Title: Super Learner for conditional survival functions
> ### Aliases: SuperSurv
>
> ### ** Examples
>
> if (requireNamespace("glmnet", quietly = TRUE)) {
+ data("metabric", package = "SuperSurv")
+ dat <- metabric[1:80, ]
+ x_cols <- grep("^x", names(dat))[1:5]
+ X <- dat[, x_cols, drop = FALSE]
+ new.times <- seq(20, 120, by = 20)
+
+ fit <- SuperSurv(
+ time = dat$duration,
+ event = dat$event,
+ X = X,
+ newdata = X,
+ new.times = new.times,
+ event.library = c("surv.coxph", "surv.ridge"),
+ cens.library = c("surv.coxph"),
+ control = list(saveFitLibrary = TRUE)
+ )
+
+ fit
+ event_weights(fit)
+ }
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 1: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 2: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 3: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 4: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 5: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 6: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 7: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 8: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 9: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 10: subscript out of bounds
. It will receive zero ensemble weight.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Warning: Starting in glmnet 5.1, the default Cox tie-handling method will change from 'breslow' to 'efron' (matching survival::coxph). To silence this message and lock in the v5.0 default, pass cox.ties = 'breslow' explicitly. To preview the v5.1 behavior, pass cox.ties = 'efron'.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 1: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 2: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 3: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 4: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 5: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 6: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 7: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 8: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 9: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Warning: Learner 'surv.coxph' failed in cross-validation fold 10: subscript out of bounds
. It will receive zero ensemble weight.
Error in SuperSurv(time = dat$duration, event = dat$event, X = X, newdata = X, :
All algorithms dropped from censoring library
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 0.1.9
Check: tests
Result: ERROR
Running ‘test-SuperSurv-methods.R’ [2s/2s]
Running ‘test-additional-wrappers.R’ [3s/4s]
Running ‘test-evaluation.R’ [4s/5s]
Running ‘test-explain-kernel.R’ [2s/3s]
Running ‘test-flexible-wrappers.R’ [5s/6s]
Running ‘test-input-validation.R’ [2s/3s]
Running ‘test-ipcw-algorithm.R’ [2s/3s]
Running ‘test-ipcw-pipeline-stress.R’ [3s/4s]
Running ‘test-library-validation.R’ [2s/3s]
Running ‘test-local-library-lookup.R’ [2s/2s]
Running ‘test-neural-wrappers.R’ [2s/3s]
Running ‘test-risk-score-calibration.R’ [2s/2s]
Running ‘test-singleton-predictions.R’ [2s/3s]
Running the tests in ‘tests/test-SuperSurv-methods.R’ failed.
Complete output:
> library(SuperSurv)
>
> data("metabric", package = "SuperSurv")
> dat <- metabric[1:30, ]
> x_cols <- grep("^x", names(dat))[1:3]
> X <- dat[, x_cols, drop = FALSE]
>
> fit <- SuperSurv(
+ time = dat$duration,
+ event = dat$event,
+ X = X,
+ newdata = X[1:5, , drop = FALSE],
+ new.times = seq(20, 100, by = 20),
+ event.library = "surv.km",
+ cens.library = "surv.km",
+ nFolds = 2,
+ verbose = FALSE
+ )
Error in a$specials[[i]] : subscript out of bounds
Calls: SuperSurv ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-additional-wrappers.R’ failed.
Complete output:
> library(SuperSurv)
>
> set.seed(6384)
> n <- 60L
> X <- data.frame(
+ x1 = stats::rnorm(n),
+ x2 = stats::runif(n),
+ group = factor(rep(c("A", "B"), length.out = n))
+ )
> event_time <- stats::rexp(n, exp(0.4 * X$x1 - 0.3 * X$x2))
> censor_time <- stats::rexp(n, 0.35)
> time <- pmin(event_time, censor_time)
> event <- as.numeric(event_time <= censor_time)
> newdata <- X[1:6, , drop = FALSE]
> times <- c(0.1, 0.4, 0.8)
> weights <- seq(0.5, 1.5, length.out = n)
>
> check_wrapper <- function(result, wrapper_class) {
+ stopifnot(
+ is.list(result),
+ inherits(result$fit, wrapper_class),
+ identical(dim(result$pred), c(nrow(newdata), length(times))),
+ all(is.finite(result$pred)),
+ all(result$pred >= 0 & result$pred <= 1),
+ all(apply(result$pred, 1L, function(value) all(diff(value) <= 1e-12)))
+ )
+ later <- stats::predict(result$fit, newdata = newdata, new.times = times)
+ stopifnot(
+ identical(dim(later), dim(result$pred)),
+ isTRUE(all.equal(later, result$pred, tolerance = 1e-8))
+ )
+ }
>
> if (requireNamespace("mboost", quietly = TRUE)) {
+ mboost_fit <- surv.mboost(
+ time, event, X, newdata, times, weights, mstop = 20, nu = 0.1
+ )
+ check_wrapper(mboost_fit, "surv.mboost")
+ }
>
> if (requireNamespace("flexsurv", quietly = TRUE)) {
+ flexsurv_fit <- surv.flexsurvspline(
+ time, event, X, newdata, times, weights, k = 1
+ )
+ check_wrapper(flexsurv_fit, "surv.flexsurvspline")
+ }
Error in a$specials[[i]] : subscript out of bounds
Calls: surv.flexsurvspline ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-evaluation.R’ failed.
Complete output:
> library(SuperSurv)
> library(survival)
>
> # Exact event-time ties exercise G(T-) rather than G(T).
> time <- c(1, 1, 2, 2, 3, 4)
> event <- c(1, 0, 1, 0, 1, 0)
> times <- c(1, 2, 3)
> survival_prediction <- matrix(
+ c(1, 0.8, 0.5, 0, 0.7, 0.4),
+ nrow = length(time), ncol = length(times), byrow = TRUE
+ )
> survival_prediction <- survival_prediction[, rep(seq_len(ncol(survival_prediction)),
+ each = 2), drop = FALSE]
> survival_prediction <- survival_prediction[, c(1, 3, 5), drop = FALSE]
>
> reverse_grid <- sort(unique(time))
> reverse_survival <- cumprod(vapply(reverse_grid, function(value) {
+ at_risk <- sum(time >= value)
+ failures <- sum(time == value & event == 1)
+ censorings <- sum(time == value & event == 0)
+ if (censorings == 0) 1 else 1 - censorings / (at_risk - failures)
+ }, numeric(1L)))
> step_at <- function(x, left = FALSE) {
+ vapply(x, function(value) {
+ index <- which(if (left) reverse_grid < value else reverse_grid <= value)
+ if (length(index)) reverse_survival[max(index)] else 1
+ }, numeric(1L))
+ }
> expected <- vapply(seq_along(times), function(j) {
+ horizon <- times[j]
+ weight <- ifelse(
+ time <= horizon & event == 1, 1 / step_at(time, left = TRUE),
+ ifelse(time > horizon, 1 / step_at(horizon), 0)
+ )
+ mean(weight * (as.integer(time > horizon) - survival_prediction[, j])^2)
+ }, numeric(1L))
> observed <- eval_brier(time, event, survival_prediction, times)$brier_scores
> stopifnot(isTRUE(all.equal(observed, expected, tolerance = 1e-12)))
>
> # Brier loss accepts valid probability boundaries without log-loss clipping.
> boundary <- eval_brier(
+ time = c(1, 2), event = c(1, 1),
+ S_mat = matrix(c(0, 0, 1, 0), nrow = 2, byrow = TRUE),
+ times = c(1, 2)
+ )
> stopifnot(all(is.finite(boundary$brier_scores)))
>
> boundary_logloss <- SuperSurv:::eval_logloss(
+ time = c(1, 2), event = c(1, 1),
+ S_mat = matrix(c(0, 0, 1, 0), nrow = 2, byrow = TRUE),
+ times = c(1, 2), eps = 1e-8
+ )
> stopifnot(
+ all(is.finite(boundary_logloss$logloss_scores)),
+ identical(
+ boundary_logloss$diagnostics$censoring.source,
+ "marginal reverse Kaplan-Meier"
+ ),
+ boundary_logloss$diagnostics$probability.clip.fraction > 0
+ )
>
> # The backward-compatible default reproduces the original marginal-KM formula.
> expected_logloss <- vapply(seq_along(times), function(j) {
+ horizon <- times[j]
+ probability <- pmin(pmax(survival_prediction[, j], 1e-10), 1 - 1e-10)
+ failure_weight <- as.numeric(time <= horizon & event == 1) /
+ step_at(time, left = TRUE)
+ survivor_weight <- as.numeric(time > horizon) / step_at(horizon)
+ mean(-failure_weight * log(1 - probability) -
+ survivor_weight * log(probability))
+ }, numeric(1L))
> observed_logloss <- eval_logloss(
+ time, event, survival_prediction, times
+ )
> stopifnot(isTRUE(all.equal(
+ observed_logloss$logloss_scores, expected_logloss, tolerance = 1e-12
+ )))
> positional_logloss <- eval_logloss(
+ time, event, survival_prediction, times,
+ min(times), max(times), 1e-6, 1e-8
+ )
> named_logloss <- eval_logloss(
+ time, event, survival_prediction, times,
+ tmin = min(times), tmax = max(times), ipcw_floor = 1e-6, eps = 1e-8
+ )
> stopifnot(isTRUE(all.equal(positional_logloss, named_logloss)))
>
> conditional_logloss <- eval_logloss(
+ time = c(1, 2, 3, 4),
+ event = c(1, 0, 1, 0),
+ S_mat = matrix(c(
+ 0.9, 0.7, 0.5,
+ 0.8, 0.6, 0.4,
+ 0.7, 0.5, 0.3,
+ 0.6, 0.4, 0.2
+ ), nrow = 4, byrow = TRUE),
+ times = c(1, 2, 3),
+ ipcw_floor = 1e-4,
+ ipcw_cap = 50,
+ G_T_left = c(1, 0.5, 0.01, 0.25),
+ G_times = matrix(c(
+ 1, 0.8, 0.6,
+ 1, 0.5, 0.01,
+ 1, 0.4, 0.01,
+ 1, 0.3, 0.01
+ ), nrow = 4, byrow = TRUE)
+ )
> conditional_diagnostics <- conditional_logloss$diagnostics
> stopifnot(
+ all(is.finite(conditional_logloss$logloss_scores)),
+ identical(conditional_diagnostics$censoring.source, "user supplied"),
+ identical(conditional_diagnostics$effective.denominator.threshold, 0.02),
+ conditional_diagnostics$combined.weights$cap.count > 0,
+ conditional_diagnostics$combined.weights$effective.sample.size > 0,
+ conditional_diagnostics$combined.weights$capped.loss.fraction >= 0,
+ conditional_diagnostics$combined.weights$capped.loss.fraction <= 1
+ )
>
> missing_G_error <- tryCatch(
+ eval_logloss(
+ time = c(1, 2), event = c(1, 0),
+ S_mat = matrix(c(0.8, 0.6), nrow = 2),
+ times = 1, G_T_left = c(1, 0.5)
+ ),
+ error = conditionMessage
+ )
> invalid_G_error <- tryCatch(
+ eval_logloss(
+ time = c(1, 2), event = c(1, 0),
+ S_mat = matrix(c(0.8, 0.6), nrow = 2),
+ times = 1, G_T_left = c(1, 0.5), G_times = matrix(c(1, 1.2), nrow = 2)
+ ),
+ error = conditionMessage
+ )
> stopifnot(
+ grepl("Supply both", missing_G_error, fixed = TRUE),
+ grepl("finite probability matrix", invalid_G_error, fixed = TRUE)
+ )
>
> predict.SuperSurv_benchmark_test <- function(object, newdata, new.times, ...) {
+ object$predictions
+ }
> ensemble <- matrix(c(0.9, 0.7, 0.4, 0.8, 0.6, 0.3,
+ 0.7, 0.4, 0.2, 0.5, 0.3, 0.1), nrow = 4, byrow = TRUE)
> library_array <- array(
+ c(ensemble, pmin(ensemble + 0.05, 1)),
+ dim = c(4, 3, 2),
+ dimnames = list(NULL, NULL, c("learner_a", "learner_b"))
+ )
> mock <- structure(
+ list(predictions = list(
+ event.predict = ensemble,
+ event.library.predict = library_array
+ )),
+ class = "SuperSurv_benchmark_test"
+ )
> benchmark <- SuperSurv:::eval_benchmark(
+ mock, newdata = data.frame(x = 1:4),
+ time = c(1, 2, 3, 4), event = c(1, 1, 0, 1), eval_times = c(1, 2, 3)
+ )
> stopifnot(
+ inherits(benchmark, "SuperSurv_benchmark"),
+ identical(names(benchmark), c("summary", "by_time", "eval_times", "risk_time")),
+ nrow(benchmark$summary) == 3L,
+ nrow(benchmark$by_time) == 9L,
+ "IPCW_LogLoss" %in% names(benchmark$summary),
+ "LogLoss" %in% names(benchmark$by_time)
+ )
>
> summary_result <- eval_summary(
+ mock, newdata = data.frame(x = 1:4),
+ time = c(1, 2, 3, 4), event = c(1, 1, 0, 1), eval_times = c(1, 2, 3)
+ )
> stopifnot(
+ inherits(summary_result, "SuperSurv_eval"),
+ is.data.frame(attr(summary_result, "by_time"))
+ )
>
> fallback <- SuperSurv:::.combine_benchmark_plots(
+ list(brier = structure(list(), class = "mock_plot"),
+ auc = structure(list(), class = "mock_plot")),
+ patchwork_available = FALSE
+ )
> stopifnot(inherits(fallback, "SuperSurv_plot_list"), length(fallback) == 2L)
>
> if (requireNamespace("ggplot2", quietly = TRUE)) {
+ # No prediction method is available for this object: plotting must reuse it.
+ benchmark_plot <- plot_benchmark(benchmark, metrics = "brier")
+ stopifnot(inherits(benchmark_plot, "ggplot"),
+ identical(benchmark_plot$data$Brier, benchmark$by_time$Brier))
+ malformed <- structure(list(by_time = data.frame()), class = "SuperSurv_benchmark")
+ stopifnot(grepl("by_time", tryCatch(
+ plot_benchmark(malformed), error = conditionMessage), fixed = TRUE))
+ stopifnot(grepl("omit", tryCatch(
+ plot_benchmark(benchmark, eval_times = 1), error = conditionMessage), fixed = TRUE))
+ }
>
> if (requireNamespace("riskRegression", quietly = TRUE)) {
+ lung <- survival::lung
+ lung_time <- lung$time
+ lung_event <- as.integer(lung$status == 2)
+ score_times <- c(100, 300, 500)
+ km_fit <- survival::survfit(survival::Surv(lung_time, lung_event) ~ 1)
+ km_survival <- summary(km_fit, times = score_times, extend = TRUE)$surv
+ prediction <- matrix(
+ km_survival, nrow = length(lung_time), ncol = length(score_times),
+ byrow = TRUE
+ )
+ supersurv_score <- eval_brier(
+ lung_time, lung_event, prediction, score_times
+ )$brier_scores
+ reference <- riskRegression::Score(
+ object = list(KM = 1 - prediction),
+ formula = Surv(time, event) ~ 1,
+ data = data.frame(time = lung_time, event = lung_event),
+ times = score_times, metrics = "brier", cens.model = "km",
+ summary = "risk", conf.int = FALSE, se.fit = FALSE
+ )
+ reference_score <- reference$Brier$score
+ reference_score <- reference_score[reference_score$model == "KM", "Brier"][[1L]]
+ stopifnot(max(abs(supersurv_score - reference_score)) < 1e-6)
+
+ tied_time <- rep(1:8, each = 8)
+ tied_event <- rep(c(1, 0, 1, 0, 1, 1, 0, 0), 8)
+ tied_times <- c(2, 4, 6)
+ tied_prediction <- outer(
+ seq_along(tied_time), tied_times,
+ function(i, t) pmax(0.05, pmin(0.95, exp(-t * (0.03 + i / 500))))
+ )
+ tied_supersurv <- eval_brier(
+ tied_time, tied_event, tied_prediction, tied_times
+ )$brier_scores
+ tied_reference <- riskRegression::Score(
+ object = list(model = 1 - tied_prediction),
+ formula = Surv(time, event) ~ 1,
+ data = data.frame(time = tied_time, event = tied_event),
+ times = tied_times, metrics = "brier", cens.model = "km",
+ summary = "risk", conf.int = FALSE, se.fit = FALSE
+ )$Brier$score
+ tied_reference <- tied_reference[tied_reference$model == "model", "Brier"][[1L]]
+ stopifnot(max(abs(tied_supersurv - tied_reference)) < 1e-6)
+ }
Error in a$specials[[i]] : subscript out of bounds
Calls: <Anonymous> ... EventHistory.frame -> model.design -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-explain-kernel.R’ failed.
Complete output:
> library(SuperSurv)
>
> local({
+ expect_missing_backend <- function(explain) {
+ error <- tryCatch(
+ explain(NULL, data.frame(x = 1), data.frame(x = 1), eval_time = 100),
+ error = identity
+ )
+ stopifnot(
+ inherits(error, "error"),
+ identical(conditionMessage(error), paste0(
+ "Kernel SHAP explanations require the optional 'kernelshap' package. ",
+ "Install it to use `explain_kernel()`."
+ )),
+ is.null(conditionCall(error))
+ )
+ }
+
+ # Exercise the missing-backend guard even on machines with kernelshap installed.
+ explain_without_backend <- explain_kernel
+ isolated <- new.env(parent = environment(explain_without_backend))
+ isolated$requireNamespace <- function(package, ...) {
+ if (identical(package, "kernelshap")) return(FALSE)
+ base::requireNamespace(package, ...)
+ }
+ environment(explain_without_backend) <- isolated
+ expect_missing_backend(explain_without_backend)
+ if (!requireNamespace("kernelshap", quietly = TRUE)) {
+ expect_missing_backend(explain_kernel)
+ }
+ })
>
> if (requireNamespace("kernelshap", quietly = TRUE)) {
+ data("metabric", package = "SuperSurv")
+ dat <- metabric[1:50, ]
+ x_cols <- grep("^x", names(dat))[1:3]
+ X <- dat[, x_cols, drop = FALSE]
+ wrapper_fit <- surv.coxph(
+ time = dat$duration,
+ event = dat$event,
+ X = X,
+ newdata = X[1:3, , drop = FALSE],
+ new.times = c(20, 40, 60),
+ obsWeights = rep(1, nrow(dat)),
+ id = NULL
+ )
+
+ explanation <- explain_kernel(
+ model = wrapper_fit,
+ X_explain = X[1:3, , drop = FALSE],
+ X_background = X[4:13, , drop = FALSE],
+ nsim = 4, eval_time = 40,
+ verbose = FALSE
+ )
+ reconstructed <- attr(explanation, "baseline") + rowSums(explanation)
+ target <- as.numeric(1 - predict(wrapper_fit$fit, X[1:3, ], new.times = 40))
+ stopifnot(
+ inherits(explanation, "explain"),
+ is.data.frame(explanation),
+ identical(dim(explanation), c(3L, 3L)),
+ identical(names(explanation), names(X)),
+ identical(attr(explanation, "backend"), "kernelshap"),
+ all(attr(explanation, "converged")),
+ max(abs(reconstructed - attr(explanation, "predictions"))) < 1e-6,
+ max(abs(reconstructed - target)) < 1e-6,
+ identical(attr(explanation, "target"), "event_probability")
+ )
+
+ set.seed(6384)
+ ensemble <- SuperSurv(
+ time = dat$duration, event = dat$event, X = X,
+ event.library = c("surv.coxph", "surv.weibull", "surv.km"),
+ cens.library = "surv.km", nFolds = 3,
+ control = list(saveFitLibrary = TRUE), verbose = FALSE
+ )
+ # Force a heterogeneous mixture, including a weight below the old cutoff.
+ ensemble$event.coef[] <- c(0.45, 0.5495, 0.0005)
+ for (horizon in c(20, 40)) {
+ mixed <- explain_kernel(ensemble, X[1:3, ], X[4:13, ],
+ nsim = 4, eval_time = horizon)
+ target <- as.numeric(1 - predict(ensemble, X[1:3, ], horizon, type = "event"))
+ background <- as.numeric(1 - predict(ensemble, X[4:13, ], horizon, type = "event"))
+ stopifnot(
+ max(abs(attr(mixed, "predictions") - target)) < 1e-10,
+ abs(attr(mixed, "baseline") - mean(background)) < 1e-10,
+ max(abs(attr(mixed, "baseline") + rowSums(mixed) - target)) < 1e-6
+ )
+ }
+ best <- explain_kernel(ensemble, X[1:3, ], X[4:13, ],
+ only_best = TRUE, eval_time = 40)
+ best_target <- as.numeric(1 - predict(ensemble$event.fitLibrary[[2]],
+ X[1:3, ], new.times = 40))
+ stopifnot(max(abs(attr(best, "predictions") - best_target)) < 1e-10)
+ for (bad_time in list(NULL, NA_real_, Inf, -1, c(1, 2))) {
+ error <- tryCatch(explain_kernel(ensemble, X[1:3, ], X[4:13, ],
+ eval_time = bad_time),
+ error = conditionMessage)
+ stopifnot(is.character(error), grepl("eval_time", error, fixed = TRUE))
+ }
+ }
Error in a$specials[[i]] : subscript out of bounds
Calls: surv.coxph ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-flexible-wrappers.R’ failed.
Complete output:
> library(SuperSurv)
>
> set.seed(9126384)
> n <- 120L
> X <- data.frame(x1 = rnorm(n), x2 = runif(n),
+ group = factor(rep(c("A", "B"), length.out = n)))
> failure <- rexp(n, exp(0.3 * X$x1 - 0.2 * X$x2))
> censor <- rexp(n, 0.25)
> time <- pmin(failure, censor)
> event <- as.numeric(failure <= censor)
> newdata <- X[1:5, , drop = FALSE]
> times <- c(0, 0.2, 0.6, 1.2)
> weights <- seq(0.7, 1.3, length.out = n)
>
> expect_error <- function(expr, text) {
+ message <- tryCatch({ force(expr); NA_character_ }, error = conditionMessage)
+ stopifnot(!is.na(message), grepl(text, message, fixed = TRUE))
+ }
>
> check_fit <- function(result) {
+ p <- result$pred
+ stopifnot(identical(dim(p), c(5L, 4L)), all(is.finite(p)),
+ all(p >= 0 & p <= 1), all(p[, 1] == 1),
+ all(apply(p, 1L, function(x) all(diff(x) <= 1e-8))))
+ later <- predict(result$fit, newdata[, c("group", "x2", "x1")], new.times = times)
+ stopifnot(isTRUE(all.equal(p, later, tolerance = 1e-10)))
+ expanded <- sort(unique(c(times, 0.4, 2)))
+ later <- predict(result$fit, newdata, new.times = expanded)
+ stopifnot(isTRUE(all.equal(p, later[, match(times, expanded)], tolerance = 1e-10)))
+ one_time <- predict(result$fit, newdata, new.times = 0.6)
+ one_person <- predict(result$fit, newdata[1, , drop = FALSE], new.times = times)
+ one_cell <- predict(result$fit, newdata[1, , drop = FALSE], new.times = 0.6)
+ stopifnot(identical(dim(one_time), c(5L, 1L)),
+ identical(dim(one_person), c(1L, 4L)),
+ identical(dim(one_cell), c(1L, 1L)),
+ max(abs(one_time[, 1] - p[, 3])) < 1e-10,
+ max(abs(one_person[1, ] - p[1, ])) < 1e-10)
+ path <- tempfile(fileext = ".rds")
+ saveRDS(result$fit, path)
+ restored <- readRDS(path)
+ unlink(path)
+ stopifnot(isTRUE(all.equal(p, predict(restored, newdata, new.times = times),
+ tolerance = 1e-10)))
+ unknown <- newdata
+ unknown$group <- factor(rep("unseen", nrow(unknown)))
+ expect_error(predict(result$fit, unknown, new.times = times), "unseen level")
+ expect_error(predict(result$fit, newdata[, -1], new.times = times), "exactly the features")
+ expect_error(predict(result$fit, newdata, new.times = c(1, 0)), "new.times")
+ }
>
> expect_error(surv.flexsurvreg(time, event, X, newdata, times, dist = "bad"), "`dist`")
> expect_error(surv.flexsurvreg(time, event, X, newdata, times, weights = weights), "manages")
> expect_error(surv.survPen(time, event, X, newdata, times, obsWeights = weights), "nonuniform")
> expect_error(surv.survPen(time, event, X, newdata, times, baseline.df = 1), "baseline.df")
> expect_error(surv.survPen(time, event, X, newdata, times, n.legendre = NA), "n.legendre")
> expect_error(surv.survPen(time, event, X, newdata, times, expected = rep(0, n)), "manages")
> expect_error(surv.survPen(time, event, X, newdata, times, formula = time ~ x1), "one-sided")
>
> if (requireNamespace("flexsurv", quietly = TRUE)) {
+ for (distribution in c("gengamma", "gompertz", "gamma", "weibull", "exp", "lnorm", "llogis")) {
+ result <- surv.flexsurvreg(time, event, X, newdata, times, weights,
+ dist = distribution)
+ check_fit(result)
+ native <- summary(result$fit$object, newdata = newdata, t = times,
+ type = "survival", ci = FALSE)
+ native <- do.call(rbind, lapply(native, function(x) x$est))
+ stopifnot(max(abs(result$pred - native)) < 1e-8)
+ }
+ # Regression for the shared flexsurv singleton-time extraction helper.
+ spline <- surv.flexsurvspline(time, event, X, newdata, times, weights, k = 0)
+ stopifnot(identical(dim(predict(spline$fit, newdata, new.times = 0.6)), c(5L, 1L)))
+ } else {
+ expect_error(surv.flexsurvreg(time, event, X, newdata, times), "optional package 'flexsurv'")
+ }
Error in a$specials[[i]] : subscript out of bounds
Calls: surv.flexsurvspline ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-input-validation.R’ failed.
Complete output:
> library(SuperSurv)
>
> expect_error_contains <- function(expr, pattern) {
+ message <- tryCatch(
+ {
+ force(expr)
+ NULL
+ },
+ error = function(error) conditionMessage(error)
+ )
+ stopifnot(!is.null(message), grepl(pattern, message, fixed = TRUE))
+ }
>
> data("metabric", package = "SuperSurv")
> dat <- metabric[1:30, ]
> x_cols <- grep("^x", names(dat))[1:3]
> X <- dat[, x_cols, drop = FALSE]
> prediction_times <- c(20, 40, 60)
>
> fit <- SuperSurv(
+ time = dat$duration,
+ event = dat$event,
+ X = X,
+ newdata = X[1:5, , drop = FALSE],
+ new.times = prediction_times,
+ event.library = "surv.km",
+ cens.library = "surv.km",
+ nFolds = 2,
+ verbose = FALSE
+ )
Error in a$specials[[i]] : subscript out of bounds
Calls: SuperSurv ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-library-validation.R’ failed.
Complete output:
> library(SuperSurv)
>
> data("metabric", package = "SuperSurv")
> dat <- metabric[1:30, ]
> x_cols <- grep("^x", names(dat))[1:3]
> X <- dat[, x_cols, drop = FALSE]
> new_times <- seq(20, 100, by = 20)
>
> expect_error_contains <- function(expr, pattern) {
+ msg <- tryCatch(
+ {
+ force(expr)
+ NULL
+ },
+ error = function(e) conditionMessage(e)
+ )
+
+ stopifnot(!is.null(msg), grepl(pattern, msg, fixed = TRUE))
+ }
>
> km_grid <- create_grid("surv.km", list(dummy = 1))
>
> fit_grid <- SuperSurv(
+ time = dat$duration,
+ event = dat$event,
+ X = X,
+ newdata = X[1:5, , drop = FALSE],
+ new.times = new_times,
+ event.library = km_grid,
+ cens.library = "surv.km",
+ nFolds = 2,
+ verbose = FALSE
+ )
Error in a$specials[[i]] : subscript out of bounds
Calls: SuperSurv ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-local-library-lookup.R’ failed.
Complete output:
> library(SuperSurv)
>
> set.seed(638422)
> n <- 72L
> X <- data.frame(x1 = rnorm(n), x2 = runif(n))
> failure <- rexp(n, exp(0.2 * X$x1))
> censoring <- rexp(n, 0.6)
> time <- pmin(failure, censoring)
> event <- as.numeric(failure <= censoring)
> times <- as.numeric(quantile(time, c(0.15, 0.35, 0.55)))
> grid <- c(0, times)
> folds <- lapply(1:3, function(v) which(rep(1:3, length.out = n) == v))
> common <- list(
+ time = time, event = event, X = X, newdata = X[1:4, ], new.times = times,
+ nFolds = 3L, cvControl = list(validRows = folds),
+ control = list(event.t.grid = grid, cens.t.grid = grid, saveFitLibrary = TRUE)
+ )
>
> local_fit <- function(parallel = FALSE, method = "brier") {
+ calls <- new.env(parent = emptyenv())
+ calls$learners <- 0L
+ calls$screens <- 0L
+ surv.local_scope_base <- function(time, event, X, newdata, new.times,
+ obsWeights = NULL, id = NULL, marker, ...) {
+ stopifnot(ncol(X) == ncol(newdata), marker %in% c(17L, 19L))
+ # CV also evaluates unused learner/screener combinations. Count the
+ # requested one-column combinations, plus their final refits, only.
+ if (ncol(X) == 1L) calls$learners <- calls$learners + 1L
+ out <- SuperSurv::surv.km(time, event, X, newdata, new.times, obsWeights, id)
+ out$fit$local_scope_marker <- marker
+ out
+ }
+ surv.local_scope_direct <- function(...) SuperSurv::surv.coxph(...)
+ screen.local_scope <- function(X, ...) {
+ calls$screens <- calls$screens + 1L
+ seq_len(ncol(X)) == 1L
+ }
+ learners <- create_grid("surv.local_scope_base", list(marker = c(17L, 19L)))
+ # Each grid member retains the selected base function, not a later rebinding.
+ surv.local_scope_base <- function(...) stop("The grid used a rebound base function.")
+ args <- c(common, list(
+ event.library = list(c(learners[1L], "screen.local_scope"), "surv.local_scope_direct"),
+ cens.library = list(c(learners[2L], "screen.local_scope")),
+ parallel = parallel, metalearner = method
+ ))
+ fit <- do.call(SuperSurv, args)
+ if (!parallel) stopifnot(calls$learners == 8L, calls$screens == 8L)
+ stopifnot(
+ inherits(learners, "SuperSurv_grid"),
+ identical(unname(fit$event.whichScreen[1L, ]), c(TRUE, FALSE)),
+ all(fit$event.whichScreen[2L, ]),
+ fit$event.fitLibrary[[1L]]$local_scope_marker == 17L,
+ fit$cens.fitLibrary[[1L]]$local_scope_marker == 19L,
+ !any(c(fit$event.errorsInCVLibrary, fit$cens.errorsInCVLibrary,
+ fit$event.errorsInLibrary, fit$cens.errorsInLibrary)),
+ !any(vapply(c(as.character(learners), "surv.local_scope_base",
+ "surv.local_scope_direct", "screen.local_scope"),
+ exists, logical(1L), envir = globalenv(), inherits = FALSE))
+ )
+ fit
+ }
>
> check_same <- function(a, b) {
+ for (name in c("event.Z", "cens.Z", "event.predict", "cens.predict",
+ "event.coef", "cens.coef", "event.cvRisks", "cens.cvRisks")) {
+ stopifnot(isTRUE(all.equal(unname(a[[name]]), unname(b[[name]]), tolerance = 1e-12)))
+ }
+ }
>
> # The same learners through the existing top-level built-in interface.
> for (method in c("brier", "logloss")) {
+ reference <- do.call(SuperSurv, c(common, list(
+ event.library = c("surv.km", "surv.coxph"), cens.library = "surv.km",
+ metalearner = method
+ )))
+ fit <- local_fit(method = method)
+ check_same(fit, reference)
+ if (method == "brier") {
+ brier_fit <- fit
+ # A separate verification run installs a multisession future plan before
+ # sourcing this file, so this branch also runs on independent workers.
+ check_same(local_fit(parallel = TRUE), reference)
+ }
+ }
Error in a$specials[[i]] : subscript out of bounds
Error in a$specials[[i]] : subscript out of bounds
In addition: Warning message:
Learner 'surv.coxph' failed in cross-validation fold 1: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
In addition: Warning message:
Learner 'surv.coxph' failed in cross-validation fold 2: subscript out of bounds
. It will receive zero ensemble weight.
Error in a$specials[[i]] : subscript out of bounds
Calls: do.call ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
In addition: Warning message:
Learner 'surv.coxph' failed in cross-validation fold 3: subscript out of bounds
. It will receive zero ensemble weight.
Execution halted
Running the tests in ‘tests/test-risk-score-calibration.R’ failed.
Complete output:
> library(SuperSurv)
>
> fit_calibration <- getFromNamespace(
+ ".fit_risk_score_calibration", "SuperSurv"
+ )
> predict_calibration <- getFromNamespace(
+ ".predict_risk_score_survival", "SuperSurv"
+ )
>
> time <- c(1, 1, 2, 3, 3, 4)
> event <- c(1, 1, 1, 0, 1, 0)
> score <- c(-0.3, 0.2, 0.5, -0.2, 0.7, 0)
> weights <- c(1, 2, 1, 0.5, 1, 1)
> centered_score <- score - weighted.mean(score, weights)
>
> breslow <- fit_calibration(
+ time, event, score, weights, ties = "breslow"
+ )
> reference_fit <- survival::coxph(
+ survival::Surv(time, event) ~ offset(centered_score),
+ weights = weights,
+ ties = "breslow"
+ )
> reference_baseline <- survival::basehaz(reference_fit, centered = FALSE)
Error in a$specials[[i]] : subscript out of bounds
Calls: <Anonymous> ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Running the tests in ‘tests/test-singleton-predictions.R’ failed.
Complete output:
> library(SuperSurv)
> data("metabric", package = "SuperSurv")
> dat <- metabric[1:70, ]
> X <- dat[, grep("^x", names(dat))[1:3], drop = FALSE]
> learners <- list(surv.coxph = list(), surv.weibull = list(), surv.km = list())
> if (requireNamespace("randomForestSRC", quietly = TRUE)) {
+ learners$surv.rfsrc <- list(ntree = 10, nodesize = 5)
+ }
> if (requireNamespace("ranger", quietly = TRUE)) {
+ learners$surv.ranger <- list(num.trees = 10, min.node.size = 5)
+ }
> for (learner in names(learners)) {
+ for (n in c(1L, 3L)) {
+ for (times in list(40, c(20, 40, 60))) {
+ set.seed(6384)
+ fit <- do.call(learner, c(list(
+ time = dat$duration, event = dat$event, X = X,
+ newdata = X[seq_len(n), , drop = FALSE], new.times = times,
+ obsWeights = rep(1, nrow(X)), id = NULL
+ ), learners[[learner]]))
+ prediction <- predict(fit$fit, newdata = X[seq_len(n), , drop = FALSE],
+ new.times = times)
+ stopifnot(identical(dim(fit$pred), c(n, length(times))),
+ identical(dim(prediction), c(n, length(times))),
+ max(abs(prediction - fit$pred)) < 1e-10,
+ all(prediction >= 0 & prediction <= 1))
+ }
+ }
+ }
Error in a$specials[[i]] : subscript out of bounds
Calls: do.call ... survfit.coxph -> model.matrix.coxph -> delete.response -> off
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 0.1.9
Check: re-building of vignette outputs
Result: ERROR
Error(s) in re-building vignettes:
...
--- re-building ‘base-learner-rfsrc.Rmd’ using rmarkdown
Quitting from base-learner-rfsrc.Rmd:117-137 [fit-models]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `SuperSurv()`:
! All algorithms dropped from censoring library
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'base-learner-rfsrc.Rmd' failed with diagnostics:
All algorithms dropped from censoring library
--- failed re-building ‘base-learner-rfsrc.Rmd’
--- re-building ‘causal-rmst.Rmd’ using rmarkdown
Quitting from causal-rmst.Rmd:67-90 [train-model]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `SuperSurv()`:
! All algorithms dropped from censoring library
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'causal-rmst.Rmd' failed with diagnostics:
All algorithms dropped from censoring library
--- failed re-building ‘causal-rmst.Rmd’
--- re-building ‘extending-supersurv.Rmd’ using rmarkdown
[WARNING] Deprecated: --mathjax. Use --math-method=mathjax[:URL] instead.
--- finished re-building ‘extending-supersurv.Rmd’
--- re-building ‘grid-search.Rmd’ using rmarkdown
[WARNING] Deprecated: --mathjax. Use --math-method=mathjax[:URL] instead.
--- finished re-building ‘grid-search.Rmd’
--- re-building ‘installation.Rmd’ using rmarkdown
[WARNING] Deprecated: --mathjax. Use --math-method=mathjax[:URL] instead.
--- finished re-building ‘installation.Rmd’
--- re-building ‘model-performance.Rmd’ using rmarkdown
Quitting from model-performance.Rmd:61-79 [fit-models]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `a$specials[[i]]`:
! subscript out of bounds
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
2. └─SuperSurv:::.surviterativeSL(...)
3. └─SuperSurv (local) initWeightAlg(...)
4. └─survival::basehaz(fit.coxph, centered = FALSE)
5. ├─survival::survfit(fit, se.fit = FALSE)
6. └─survival:::survfit.coxph(fit, se.fit = FALSE)
7. └─survival:::model.matrix.coxph(object, data = mf)
8. └─stats::delete.response(object$terms)
9. └─stats (local) off(a$specials[[i]])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'model-performance.Rmd' failed with diagnostics:
subscript out of bounds
--- failed re-building ‘model-performance.Rmd’
--- re-building ‘parametric-models.Rmd’ using rmarkdown
Quitting from parametric-models.Rmd:57-71 [fit-parametric]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `SuperSurv()`:
! All algorithms dropped from censoring library
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'parametric-models.Rmd' failed with diagnostics:
All algorithms dropped from censoring library
--- failed re-building ‘parametric-models.Rmd’
--- re-building ‘screening-methods.Rmd’ using rmarkdown
Quitting from screening-methods.Rmd:103-116 [fit-screen]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `SuperSurv()`:
! All algorithms dropped from censoring library
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'screening-methods.Rmd' failed with diagnostics:
All algorithms dropped from censoring library
--- failed re-building ‘screening-methods.Rmd’
--- re-building ‘shap-explanations.Rmd’ using rmarkdown
Quitting from shap-explanations.Rmd:45-87 [setup]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `SuperSurv()`:
! All algorithms dropped from censoring library
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'shap-explanations.Rmd' failed with diagnostics:
All algorithms dropped from censoring library
--- failed re-building ‘shap-explanations.Rmd’
--- re-building ‘supersurv-best.Rmd’ using rmarkdown
Quitting from supersurv-best.Rmd:64-94 [fit-models]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `a$specials[[i]]`:
! subscript out of bounds
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
2. └─SuperSurv:::.surviterativeSL(...)
3. └─SuperSurv (local) initWeightAlg(...)
4. └─survival::basehaz(fit.coxph, centered = FALSE)
5. ├─survival::survfit(fit, se.fit = FALSE)
6. └─survival:::survfit.coxph(fit, se.fit = FALSE)
7. └─survival:::model.matrix.coxph(object, data = mf)
8. └─stats::delete.response(object$terms)
9. └─stats (local) off(a$specials[[i]])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'supersurv-best.Rmd' failed with diagnostics:
subscript out of bounds
--- failed re-building ‘supersurv-best.Rmd’
--- re-building ‘supersurv-ensemble.Rmd’ using rmarkdown
Quitting from supersurv-ensemble.Rmd:105-139 [fit-models]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `a$specials[[i]]`:
! subscript out of bounds
---
Backtrace:
▆
1. └─SuperSurv::SuperSurv(...)
2. └─SuperSurv:::.surviterativeSL(...)
3. └─SuperSurv (local) initWeightAlg(...)
4. └─survival::basehaz(fit.coxph, centered = FALSE)
5. ├─survival::survfit(fit, se.fit = FALSE)
6. └─survival:::survfit.coxph(fit, se.fit = FALSE)
7. └─survival:::model.matrix.coxph(object, data = mf)
8. └─stats::delete.response(object$terms)
9. └─stats (local) off(a$specials[[i]])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'supersurv-ensemble.Rmd' failed with diagnostics:
subscript out of bounds
--- failed re-building ‘supersurv-ensemble.Rmd’
SUMMARY: processing the following files failed:
‘base-learner-rfsrc.Rmd’ ‘causal-rmst.Rmd’ ‘model-performance.Rmd’
‘parametric-models.Rmd’ ‘screening-methods.Rmd’
‘shap-explanations.Rmd’ ‘supersurv-best.Rmd’ ‘supersurv-ensemble.Rmd’
Error: Vignette re-building failed.
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc