Description Usage Arguments Details Value References Examples
View source: R/get_casecontrol_mindet_VE_or.R
The function get_cohort_mindet_VE_or
calculates the minimum detectable variant and vaccine-specific efficacy (VE) for a given sample size, power, and type-I error rate.
The efficacy is defined as VE = 1 - odds ratio
, and the function returns
both absolute and relative minimum detectable VE. The NULL hypothesis is that VE = 0
and
the alternate hypothesis in that VE is not equal to 0
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | get_casecontrol_mindet_VE_or(
anticipated_VE_for_each_brand_and_variant = matrix(data = c(0.8, 0.5, 0.3, 0.3, 0.5,
0.8, 0.9, 0.5, 1), nrow = 3, ncol = 3, byrow = F, dimnames = list(paste0("brand",
1:3), paste0("variant", 1:3))),
brand_proportions_in_vaccinated = c(brand1 = 0.3, brand2 = 0.5, brand3 = 0.2),
overall_vaccine_coverage = 0.3,
proportion_variants_in_unvaccinated_cases = c(variant1 = 0.6, variant2 = 0.3,
variant3 = 0.1),
controls_per_case = 2,
calculate_relative_VE = T,
power = 0.8,
alpha = 0.05,
confounder_adjustment_Rsquared = 0,
prob_missing_data = 0.1,
total_cases = seq(50, 500, 10)
)
|
anticipated_VE_for_each_brand_and_variant |
a matrix of vaccine efficacy of each vaccine (row) against each variant (column). Each value must be a real number between 0 and 1. |
brand_proportions_in_vaccinated |
a vector denoting the proportion in which vaccines are given in the vaccinated subjects of the study cohort. Each value of this vector must be a real number between 0 and 1 and the sum of the values of this vector must be equal to 1. |
overall_vaccine_coverage |
the proportion of the study cohort that will be vaccinated. It should be a real number between 0 and 1. |
proportion_variants_in_unvaccinated_cases |
a vector of the proportions in which each variant is expected to be present in the unvaccinated and infected subjects in the study cohort. Each value of this vector must be a real number between 0 and 1 and the sum of the values of this vector must be equal to 1. |
controls_per_case |
the number of controls to be sampled per case in the study cohort. It should be a real number between 0 and Inf. |
calculate_relative_VE |
a logical indicating if calculations should also be done for relative vaccine efficacy (default |
power |
the power to detect the VE. It is equal to 1 - Type-II error. It is a numeric that must take a value between 0 and 1. |
alpha |
Type-I error probability. It is a numeric that must take a value between 0 and 1. |
confounder_adjustment_Rsquared |
we use this parameter to adjust the calculations for potential confounders using the methodology proposed by Hsieh and Lavori (2000). It represents the amount of variance (R^2) explained in a regression model where vaccination status is the outcome and confounders of interest are predictors. It is a numeric that must take a value between 0 (no adjustment for confounders) and 1. |
prob_missing_data |
to adjust the calculations for non-informative and random subject loss to follow-up/dropout. it should take a numeric value between 0 and 1. |
total_cases |
a vector of the number of cases in our cohort for which calculations should be done. |
In this function efficacy is defined as VE = 1 - odds ratio
, where 'odds ratio' is
the ratio of odds of being vaccinated with a particular vaccine versus being unvaccinated among cases and the same odds in controls.
When the groups being compared are a particular vaccine versus placebo then we call the VE
as the absolute VE of the vaccine. For M
vaccines there are M
absolute VE, one each for the M
vaccines.
When the groups being compared are a particular vaccine versus another vaccine then we call the VE
as the relative VE of the vaccines, for a particular variant. For M
vaccines and I
variants there are I x 2 x utils::combn(M, 2)
permutations of relative VE of two vaccines against the same variant.
We first transform the user inputs for I
variants and M
vaccines into two conditional tables, one for cases, and another for controls.
First an I x (M + 1)
cross table of the probability of being unvaccinated or vaccinated with a vaccine, given that the subject is a case. The sum of the cells of this cases table is equal to 1.
Second a 1 x (M + 1)
vector of the probability of being unvaccinated or vaccinated with a vaccine, given that the subject is a controls. The sum of this controls vector is equal to 1.
The first column in both of these corresponds to subjects who are unvaccinated and the remaining M
columns correspond to subjects who are vaccinated with a particular vaccine.
In general, while calculating minimum detectable VE it is not necessary to ask for anticipated_VE_for_each_brand_and_variant
.
The reason we need it in the multiple variant and multiple vaccine scenario is explained next.
After we obtain the cases table and controls vector our next step is to calculate the minimum detectable VE for each absolute and relative VE combination.
For absolute VE we extract a 1 x 2
vector of probabilities of being a control larger 1 x (M + 1)
controls vector. The two columns are for the vaccine of interest and placebo.
We also extract a 1 x 2
vector of probabilities of being a case from the larger I x (M + 1)
controls vector.
The row is the row corresponding to the variant of interest and the two columns are for the vaccine of interest and placebo.
The effective vaccine coverage is then rescaled probability of being vaccinated in the selected 1 x 2
controls vector.
The effective number of cases are total_cases * sub_cases_vector_probability_sum * (1 - prob_missing_data) * (1 - confounder_adjustment_Rsquared)
.
Here sub_cases_vector_probability_sum
is the sum of the cells of the 1 x 2
sub vector of cases.
The effective number of controls are total_cases * controls_per_case * sub_cases_vector_probability_sum * (1 - prob_missing_data) * (1 - confounder_adjustment_Rsquared)
.
Here sub_cases_vector_probability_sum
is the sum of the cells of the 1 x 2
sub vector of controls.
We then simply pass these adjusted parameters to the function epi.sscc
of the R package epiR
to obtain the minimum detectable absolute VE.
For relative VE the process is similar to absolute VE, except that instead of placebo we select a 1 x 2
sub-vector where
the columns are two vaccines of interest.
A data frame consisting of the input parameters, absolute and relative VE combinations, and the minimum detectable VE for each absolute and relative VE combination.
Hsieh, F. Y., & Lavori, P. W. (2000). Sample-size calculations for the Cox proportional hazards regression model with nonbinary covariates. Controlled clinical trials, 21(6), 552-560.
Morris, J. A., & Gardner, M. J. (1988). Statistics in medicine: Calculating confidence intervals for relative risks (odds ratios) and standardised ratios and rates. British medical journal (Clinical research ed.), 296(6632), 1313.
1 2 |
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.