Type: Package
Title: 'surv' Object Confidence Bands Optimized by Area
Version: 0.2.2
Date: 2023-03-29
Description: Given a certain coverage level, obtains simultaneous confidence bands for the survival and cumulative hazard functions such that the area between is minimized. Produces an approximate solution based on local time arguments.
Depends: R (≥ 3.1.0)
Imports: utils, LambertW
License: GPL-2 | GPL-3
URL: https://github.com/seasamgo/optband
BugReports: https://github.com/seasamgo/optband/issues
RoxygenNote: 7.1.1
Encoding: UTF-8
Suggests: stats, survival, km.ci, knitr, rmarkdown
VignetteBuilder: knitr, rmarkdown
NeedsCompilation: no
Packaged: 2023-03-30 16:29:32 UTC; tracys2
Author: Sam Tracy [aut, cre], Tom Chen [aut]
Maintainer: Sam Tracy <seasamgo@gmail.com>
Repository: CRAN
Date/Publication: 2023-03-31 08:20:04 UTC

Variance of the cumulative-hazard function

Description

cumhaz.var estimates the cumulative-hazard function variance using Greenwood's formula for a survfit object containing estimated survival curves.

Usage

cumhaz.var(survi)

Arguments

survi

a survfit object.

Value

A numeric vector.

Examples


library(survival)
fit <- survfit(Surv(stop, event) ~ 1, data=bladder)
cumhaz.var(fit)


Aggregate survfit object strata

Description

func.sum calculates the sum and aggregate time points of two cumulative-hazard functions or their variances, designed for use with a survfit object having two strata.

Usage

func.sum(f1, f2, f1time, f2time)

Arguments

f1

vector of cumulative-hazard estimates.

f2

vector of cumulative-hazard estimates.

f1time

vector of survival times for f1.

f2time

vector of survival times for f2.

Value

A list of two numeric vectors.

Examples

library(survival)
res <- summary(survfit(Surv(stop, event) ~ rx, data=bladder))
cols <- lapply(c(2:11) , function(x) res[x])
tbl <- do.call(data.frame, cols)
category = unique(tbl$strata)
temptbl1 = tbl[tbl$strata == category[1],]; temptbl1$n = res$n[1]
temptbl2 = tbl[tbl$strata == category[2],]; temptbl2$n = res$n[2]
sigma1_2 = cumhaz.var(temptbl1)
sigma2_2 = cumhaz.var(temptbl2)
func.sum(c(0, sigma1_2)/temptbl1$n[1], c(0, sigma2_2)/temptbl2$n[2],
  c(0, temptbl1$time), c(0, temptbl2$time))


Truncate survfit object

Description

modify.surv.fun truncates survfit by upper and lower bounds.

Usage

modify.surv.fun(survi, tl, tu)

Arguments

survi

a survfit object.

tl

the lower bound.

tu

the upper bound.

Value

A truncated survfit object.

Examples

library(survival)
fit <- survfit(Surv(stop, event) ~ 1, data=bladder)
fit2 <- modify.surv.fun(fit, .1, .9)


Confidence bands optimized by area

Description

opt.ci obtains simultaneous confidence bands for the survival or cumulative-hazard functions such that the area between is minimized.

Usage

opt.ci(survi, conf.level = 0.95, fun = "surv", tl = NA, tu = NA, samples = 1)

Arguments

survi

a survfit object.

conf.level

desired coverage level.

fun

"surv" for survival function and "cumhaz" for the cumulative-hazard. function, with "surv" as the default.

tl

a lower bound for truncation.

tu

an upper bound for truncation.

samples

the number of groups (1 or 2).

Details

Produces an approximate solution based on local time arguments.

Value

A survfit object with optimized confidence bands.

Examples

library(survival)
# fit and plot a Kaplan-Meier curve
fit <- survfit(Surv(stop, event) ~ 1, data=bladder)
plot(fit)
fit2 <- opt.ci(fit)
plot(fit2)


The psi function

Description

psi returns

\psi(x)=\sqrt{-W_{-1}(-x^2)}

using the Lambert W function (see package LambertW).

Usage

psi(x)

Arguments

x

a numeric value, possibly vectorized.

Value

A numeric value, possibly vectorized.

Examples

psi(.1)


Modified vector dot product

Description

riemsum returns a modified dot product described by two vectors.

Usage

riemsum(x, y)

Arguments

x

a numeric 'width' vector.

y

a numeric 'height' vector.

Value

A numeric value.

Examples

x <- 1:10
riemsum(x,x)


Evaluate whether times are in an interval

Description

surv.range evaluates survfit object survival times by upper and lower bounds.

Usage

surv.range(survi, tl, tu)

Arguments

survi

a survfit object.

tl

the lower bound.

tu

the upper bound.

Value

A boolean vector.

Examples

library(survival)
fit <- survfit(Surv(stop, event) ~ 1, data=bladder)
summary(fit)
surv.range(fit, .1, .9)