Learn R Programming

isoSurv (version 0.3.0)

isoph: Fit Isotonic Proportional Hazards Model

Description

Nonparametric estimation of a monotone covariate effect under the proportional hazards model.

Usage

isoph(formula, data, maxiter, eps)

Value

A list of class isoph:

iso.cov

data.frame with \(z\) and estimated \(\psi\).

beta

estimated \(\beta_1,\beta_2,...,\beta_p\).

conv

algorithm convergence status.

iter

total number of iterations.

Zk

anchor point satisfying \(\psi(Zk)\)=0.

shape

Order-restriction imposed on \(\psi\).

Arguments

formula

a formula object: response ~ iso(\(z\),shape="increasing")+\(x_1+x_2+...+x_p\). The response must be right-censored survival outcome using the Surv function in the survival package. The iso function attributes the covariate \(z\)' name, shape and anchor point.

data

data.frame includes variables named in the formula argument.

maxiter

maximum number of iteration (default is \(10^4\)).

eps

stopping convergence criteria (default is \(10^-3\)).

Author

Yunro Chung [aut, cre]

Details

The isoph function estimates (\(\psi\), \(\beta\)) in the isotonic proportional hazards model, defined as $$\lambda(t|z,x)=\lambda0(t)exp(\psi(z)+\beta_1x_1+\beta_2x_2+...+\beta_px_p),$$ based on the partial likelihood with unspecified baseline hazard function \(\lambda0\), where \(\psi\) is a monotone increasing (or decreasing) covariate effect function, \(z\) is a univariate variable, \(x=(x_1,x_2,...,x_p)\) is a set of covariates, and \(\beta=(\beta_1,\beta_2,...,\beta_p)\) is a set of corresponding regression parameters. It allows to estimate \(\psi\) only if \(x\) is removed in the formula object. Using the nonparametric maximum likelihood approaches, estimated \(\psi\) is a right continuous increasing (or left continuos decreasing) step function.

For the anchor constraint, one point has to be fixed with \(\psi(K)=0\) to solve the identifiability problem, e.g. \(\lambda0(t)exp(\psi(z))=(\lambda0(t)exp(-c))(exp(\psi(z)+c))\) for any constant \(c\). \(K\) is called an anchor point. By default, we set \(K\) as a median of values of \(z\)'s. The choice of anchor points are not important because, for example, different anchor points results in the same hazard ratios.

References

Yunro Chung, Anastasia Ivanova, Michael G. Hudgens, Jason P. Fine, Partial likelihood estimation of isotonic proportional hazards models, Biometrika. 2018, 105 (1), 133-148. doi:10.1093/biomet/asx064

Examples

Run this code
# test1
test1=data.frame(
  time=  c(2, 5, 1, 7, 9, 5, 3, 6, 8, 9, 7, 4, 5, 2, 8),
  status=c(0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1),
  z=     c(2, 1, 1, 3, 5, 6, 7, 9, 3, 0, 2, 7, 3, 9, 4)
)
isoph.fit1=isoph(Surv(time, status)~iso(z,shape="inc"),data=test1)
print(isoph.fit1)
plot(isoph.fit1)

# test2
test2=data.frame(
  time=  c(2, 5, 1, 7, 9, 5, 3, 6, 8, 9, 7, 4, 5, 2, 8),
  status=c(0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1),
  z=     c(2, 1, 1, 3, 5, 6, 7, 9, 3, 0, 2, 7, 3, 9, 4),
  trt=   c(1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0)
)
isoph.fit2=isoph(Surv(time, status)~iso(z,shape="inc")+trt, data=test2)
print(isoph.fit2)
plot(isoph.fit2)

Run the code above in your browser using DataLab