negativeControlOutcomeAdjustment {NegativeControlOutcomeAdjustment}R Documentation

NegativeControlOutcomeAdjustment

Description

Reducing confounding bias in observational studies of vaccine efficacy using negative control outcomes

Usage

negativeControlOutcomeAdjustment(Y1, Y2, Trt, W=NULL, 
          method=c("Joint-MH", "Joint-NC", "SS-Joint"), minObsPerStrata=20)

Arguments

Y1

Binary vector for the outcome of interest.

Y2

Numeric vector of natural numbers for the secondary outcome, which should be unaffected by the treatment.

Trt

Binary vector for the treatment.

W

Categorical confounders to define strata. W can be a factor, vector, matrix or data frame. If NULL, then only the Joint-NC method will be used.

method

Any of "Joint-MH", "Joint-NC", or "SS-Joint". See details. The default is all three methods.

minObsPerStrata

Minimum number of observations within each stratum for the SS-Joint method. Strata with fewer than minObsPerStrata observations will be removed from the SS-Joint calculation. If no stratum has at least minObsPerStrata observations, then the SS-Joint method will not be used. The default is 20.

Details

Observations with missing or non-finite values will be removed from the data.
For the SS-Joint method, strata that yield non-finite estimates are removed from the calculations, and strata that contain too few observations as defined by minObsPerStrata above are removed.

Joint-MH

Joint-MH reduces bias due to unmeasured confounders in the estimate of the primary outcome relative risk, by using the treatment effect on the secondary outcome. Joint-MH first estimates jointly the effects of the treatment on the primary and secondary outcomes from stratification (with Mantel-Haenszel-type weights) on the measured confounders, and then uses the non-zero estimated effect on the secondary outcome to "subtract off" bias due to unmeasured confounders. If the observed confounder used to stratify only has a few large strata, method SS-Joint could be used instead. If information on observed confounders is not provided, method Joint-NC is used instead.

Joint-NC

Joint-NC reduces bias due to unmeasured confounders in the estimate of the primary outcome log-relative risk, by using the treatment effect on the secondary outcome. Joint-NC first estimates jointly the effects of the treatment on the primary and secondary outcomes, by using log-links, and then uses the non-zero estimated effect on the secondary outcome to "subtract off" bias due to unmeasured confounders. Information on potential observed confounders is not used with this method.

SS-Joint

SS-Joint applies method Joint-NC within each stratum of the observed confounders, in order to reduce bias due to unmeasured confounders in the primary outcome log-relative risk estimate. More precisely, it estimates jointly the effects of the treatment on the primary and secondary outcomes, by using log-links, within each stratum. It then "subtracts off" the non-zero estimated effects on the secondary outcome from the estimated effects on the primary outcome, respectively in each stratum. SS-Joint finally combines efficiently these stratum-specific estimates by taking a weighted combination, with weights inversely proportional to their respective variances. If no information on observed confounders is provided, method Joint-NC is used instead. If data is available on a categorical confounder, but with many possibly sparse strata, we recommend using method Joint-MH instead.

Value

A data frame with columns method, beta_1.hat, sd.beta_1.hat, n.strata and error.message, where beta_1.hat is the "de-biased" estimate of the treatment effect on Y1, sd.beta_1.hat is the sandwich estimate for the standard deviation of beta_1.hat, and n.strata is the number of strata used in the calculation.

References

Etievant, L., Sampson, J.N., Gail, M.H. (2022). Increasing efficiency and reducing bias when assessing HPV vaccination efficacy by using nontargeted HPV strains. Biometrics. 1-12. https://doi.org/10.1111/biom.13663

Examples

  data(data, package="NegativeControlOutcomeAdjustment")

  Y1  <- data[, "Y1"]
  Y2  <- data[, "Y2"]
  Trt <- data[, "T"]

  # With no covariates, only the Joint-NC method is used
  negativeControlOutcomeAdjustment(Y1, Y2, Trt)

  # Age and Region define 39 strata, some of which have fewer than 20 observations. 
  # Other strata that lead to non-finite estimates in the SS-Joint method are also dropped.
  # Warning messages will be issued in these situations. 
  tab <- table(interaction(data$Age, data$Region, drop=TRUE, sep="_"))
  sum(tab < 20)
  negativeControlOutcomeAdjustment(Y1, Y2, Trt, W=data[, c("Age", "Region")])

  # Create two age groups; Age > 18 and Age <= 18 to reduce the number of strata to 6
  Age <- as.numeric(data$Age > 18)
  W   <-  interaction(Age, data$Region, sep="_", drop=TRUE)
  negativeControlOutcomeAdjustment(Y1, Y2, Trt, W=W)


[Package NegativeControlOutcomeAdjustment version 0.0.6 Index]