Sample Size Calculation for Cox Proportional Hazards Regression

Share:

Description

Sample size calculation 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.

Usage

1
ssizeEpi(X1, X2, failureFlag, power, theta, alpha = 0.05)

Arguments

X1

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

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.

failureFlag

a nPilot by 1 vector of indicators indicating if a subject is failure (failureFlag=1) or alive (failureFlag=0).

power

postulated power.

theta

postulated hazard ratio.

alpha

type I error rate.

Details

This is an implementation of the sample size formula 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(β_1 x_1+β_2 x_2),

where the covariate X_1 is of our interest. The covariate X_1 has to 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(β_1)=θ. Given the type I error rate α for a two-sided test, the total number of subjects required to achieve a power of 1-β is

n=\frac{≤ft(z_{1-α/2}+z_{1-β}\right)^2}{ [\log(θ)]^2 p (1-p) ψ (1-ρ^2)},

where ψ is the proportion of subjects died of the disease of interest, and

ρ=corr(X_1, X_2)=(p_1-p_0)\times√{\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, ρ^2, and ψ will be estimated from a pilot study.

Value

n

the total number of subjects required.

p

the proportion that X_1 takes value one.

rho2

square of the correlation between X_1 and X_2.

psi

proportion of subjects died of the disease of interest.

Note

(1) The calculated sample size will be round up to an integer.

(2) The formula can be used to calculate sample size required for a randomized trial study by setting rho2=0.

(3) When rho2=0, the formula derived by Latouche et al. (2004) looks the same as that derived by Schoenfeld (1983). Latouche et al. (2004) pointed out that in this situation, the interpretations are different hence the two formulae are actually different. In Latouched et al. (2004), the hazard ratio \exp(β_1)=θ measures the difference of effect of a covariate at two different levels on cause-specific hazard for a particular failure, while in Schoenfeld (1983), the hazard ratio θ measures the difference of effect on subdistribution hazard.

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

ssizeEpi.default

Examples

1
2
3
4
5
6
7
8
  # 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)
  failureFlag <- sample(c(0, 1), 100, prob = c(0.5, 0.5), replace = TRUE)

  ssizeEpi(X1 = X1, X2 = X2, failureFlag = failureFlag, 
    power = 0.80, theta = 2, alpha = 0.05)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.