Learn R Programming

powerSurvEpi (version 0.1.3)

numDEpi: Calculate Number of Deaths Required for Cox Proportional Hazards Regression with Two Covariates for Epidemiological Studies

Description

Calculate number of deaths required for Cox proportional hazards regression with two covariates for epidemiological Studies. The covariate of interest should be a binary variable. The other covariate can be either binary or non-binary. The formula takes into account competing risks and the correlation between the two covariates. Some parameters will be estimated based on a pilot data set.

Usage

numDEpi(X1, 
	X2, 
	power, 
	theta, 
	alpha = 0.05)

Arguments

X1

numeric. a nPilot by 1 vector, where nPilot is the number of subjects in the pilot data set. This vector records the values of the covariate of interest for the nPilot subjects in the pilot study. X1 should be binary and take only two possible values: zero and one.

X2

numeric. a nPilot by 1 vector, where nPilot is the number of subjects in the pilot study. This vector records the values of the second covariate for the nPilot subjects in the pilot study. X2 can be binary or non-binary.

power

numeric. the postulated power.

theta

numeric. postulated hazard ratio

alpha

numeric. type I error rate.

Value

D

the number of deaths required to achieve the desired power with given type I error rate.

p

proportion of subjects taking \(X_1=1\).

rho2

square of the correlation between \(X_1\) and \(X_2\).

Details

This is an implementation of the calculation of the number of required deaths derived by Latouche et al. (2004) for the following Cox proportional hazards regression in the epidemiological studies: $$h(t|x_1, x_2)=h_0(t)\exp(\beta_1 x_1+\beta_2 x_2),$$ where the covariate \(X_1\) is of our interest. The covariate \(X_1\) should be a binary variable taking two possible values: zero and one, while the covariate \(X_2\) can be binary or continuous.

Suppose we want to check if the hazard of \(X_1=1\) is equal to the hazard of \(X_1=0\) or not. Equivalently, we want to check if the hazard ratio of \(X_1=1\) to \(X_1=0\) is equal to \(1\) or is equal to \(\exp(\beta_1)=\theta\). Given the type I error rate \(\alpha\) for a two-sided test, the total number of deaths required to achieve a power of \(1-\beta\) is $$D=\frac{\left(z_{1-\alpha/2}+z_{1-\beta}\right)^2}{ [\log(\theta)]^2 p (1-p) (1-\rho^2), }$$ where \(z_{a}\) is the \(100 a\)-th percentile of the standard normal distribution, $$\rho=corr(X_1, X_2)=(p_1-p_0)\times \sqrt{\frac{q(1-q)}{p(1-p)}},$$ and \(p=Pr(X_1=1)\), \(q=Pr(X_2=1)\), \(p_0=Pr(X_1=1|X_2=0)\), and \(p_1=Pr(X_1=1 | X_2=1)\).

\(p\) and \(rho\) will be estimated from a pilot data set.

References

Schoenfeld DA. (1983). Sample-size formula for the proportional-hazards regression model. Biometrics. 39:499-503.

Latouche A., Porcher R. and Chevret S. (2004). Sample size formula for proportional hazards modelling of competing risks. Statistics in Medicine. 23:3263-3274.

See Also

numDEpi.default

Examples

Run this code
# NOT RUN {
  # generate a toy pilot data set
  X1 <- c(rep(1, 39), rep(0, 61))
  set.seed(123456)
  X2 <- sample(c(0, 1), 100, replace = TRUE)
  res <- numDEpi(X1 = X1, 
		 X2 = X2, 
		 power = 0.8, 
		 theta = 2, 
		 alpha = 0.05)
  print(res)

  # proportion of subjects died of the disease of interest.
  psi <- 0.505

  # total number of subjects required to achieve the desired power
  ceiling(res$D / psi)

# }

Run the code above in your browser using DataLab