dove {DOVE} | R Documentation |
Estimates the potentially waning long-term efficacy of vaccines in randomized, placebo-controlled clinical trials with staggered enrollment of participants and sequential crossover of placebo recipients
dove(formula, data, plots = TRUE, timePts = NULL, bandwidth = NULL)
formula |
A formula object, with the response on the left hand side of a '~' operator, and the covariates and vaccine() function on the right. The response must be a survival object as returned by the 'Surv' function of the survival package. See Details for further information. The vaccine() function must be used to specify the entry time and vaccination information. See ?vaccine and Details for further information. |
data |
A data.frame object. The data.frame in which to interpret the variable names in formula. Must contain the entry time, the event time, the event status, the vaccination status, the vaccination time, and the covariates. See Details. |
plots |
A logical object. If TRUE, plots of the estimated curve of vaccine efficacy in reducing attack rate and the estimated curve of vaccine efficacy in reducing the hazard rate will be automatically generated. If FALSE, plots will not be generated, but the data are available through the returned value object. |
timePts |
A numeric vector object or NULL. The endpoints of the time periods for which the vaccine efficacy in reducing the attack rate is to be shown. If NULL, a default sequence of 60 day intervals is used. |
bandwidth |
A numeric vector object. A tuning parameter for the bandwidth used for kernel estimation of the vaccine efficacy in reducing the hazard rate; this input is ignored if plots=FALSE. |
The information required for an analysis is
Calendar time when the participant enters the trial.
Calendar time when the participant experiences the clinical event of interest (e.g., symptomatic COVID-19) or their follow-up ends, whichever occurs first.
Binary indicator taking value 1 if the clinical event of interest occurs before the end of follow-up and 0 otherwise.
Binary indicator taking value 1 if vaccination occurs before the end of follow-up and 0 otherwise.
Calendar time when vaccination takes place, with an arbitrary value if the participant is not vaccinated.
Baseline covariates (e.g., priority group, age, ethnicity).
Note that all times are to be specified relative to the start of the trial. Thus, for individuals that received vaccination, entry_time <= vaccination_time <= event_time. And for individuals that did not receive vaccination, entry_time <= event_time; for these participants, vaccination_time can take any value.
In plots, it is assumed that times are specified in units of days, though this is not verified nor required.
The general structure of the formula input is
Surv(event_time, event_status) ~ covariates + vaccine(entry_time, vaccination_time, vaccination_status)
The response variable must be a survival object as returned by the 'Surv()' function of package survival, where event_time is the follow up time (formal argument 'time') and event_status is the status indicator input (formal argument 'event'). Specifically,
Surv(time = event_time, event = event_status)
The vaccination and entry_time information must be specified through function 'vaccine()'. Specifically,
vaccine(entry_time, vaccination_status, vaccination_time)
For participants that did not receive the vaccine, vaccination_time can take any value. For individuals that received vaccination, if vaccination_time > event_time, or vaccination_time < entry_time, the case will be removed from the analysis and a message will be generated.
A list containing
covariates |
A matrix containing the estimated hazard ratio of each covariate, together with the (estimated) standard error, the 95% confidence intervals, and the two-sided p-value for testing no covariates effect. |
vaccine |
A list containing two elements. The first element is the matrix containing the estimates of the vaccine efficacy in reducing the attack rate at all observed event times (VE_a), together with the 95% confidence intervals, as well as the vaccine efficacy in reducing the hazard rate at these times (VE_t). These results will be shown in graphical form if input plots = TRUE. The second element is the matrix containing the estimates of vaccine efficacy in reducing the attack rate over successive time periods, together with the 95% confidence intervals. |
Lin, DY, Zeng, D, and Gilbert, PB (2021). Evaluating the long-term efficacy of COVID-19 vaccines. doi: https://doi.org/10.1101/2021.01.13.21249779.
data(doveData) set.seed(1234) ind <- sample(1:nrow(x = doveData), 2500, FALSE) # NOTE: This sample size is chosen for example only -- larger data sets # should be used. # See the vignette for a full analysis of the doveData dataset dove(formula = Surv(event.time, event.status) ~ priority + sex + vaccine(entry.time, vaccine.status, vaccine.time), data = doveData[ind,])