Type: | Package |
Title: | Vaccines Pharmacometrics |
Version: | 0.0.6 |
Depends: | R (≥ 4.0) |
Date: | 2024-11-20 |
Maintainer: | Julie Dudasova (MSD) <julie.dudasova@merck.com> |
Description: | Estimate vaccine efficacy (VE) using immunogenicity data. The inclusion of immunogenicity data in regression models can increase precision in VE. The methods are described in the publications "Elucidating vaccine efficacy using a correlate of protection, demographics, and logistic regression" and "Improving precision of vaccine efficacy evaluation using immune correlate data in time-to-event models" by Julie Dudasova, Zdenek Valenta, and Jeffrey R. Sachs (2024). |
License: | GPL-3 |
Copyright: | Copyright © 2024 Merck & Co., Inc., Rahway, NJ, USA and its affiliates. All rights reserved. |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.3.2 |
Imports: | methods (≥ 3.5.2), stats, MASS (≥ 7.3-51.6), dplyr (≥ 1.0.0), survival (≥ 3.2-11) |
Suggests: | knitr, rmarkdown, testthat |
NeedsCompilation: | no |
Packaged: | 2024-11-20 11:08:24 UTC; vavrycuk |
Author: | Julie Dudasova (MSD) [aut, cre] |
Repository: | CRAN |
Date/Publication: | 2024-11-20 11:30:03 UTC |
Efficacy summary (mean, median, confidence intervals)
Description
Function summarizes efficacy statistics (mean, median, confidence intervals) based on the set of estimated efficacy values and chosen condfidence interval.
Usage
EfficacyCI(efficacySet, ci = 0.95)
Arguments
efficacySet |
numeric vector - vector of estimated efficacy values |
ci |
numeric - required confidence level |
Details
Confidence intervals are calculated using quantiles of estimated efficacy values.
Value
named list - mean, median, CILow, CIHigh
Examples
# Load required packages
library(dplyr)
# Load an example dataset
data(data_temp)
Data.vaccinated <- filter(data_temp, vaccine == 1)
Data.control <- filter(data_temp, vaccine == 0)
# Fit logistic model relating neutralizing titer to disease status
logisticFit <- glm(disease_any ~ nAb1, data = data_temp, family = binomial())
# Estimate 95\% confidence interval of vaccine efficacy based on the fitted model
efficacySet <- glmParametricSampling(logisticFit, nboot = 500, Data.vaccinated, Data.control)
EfficacyCI(efficacySet)
Accounting for the uncertainty on the fitted "coxph"
model and observed data
Description
coxphParametricSampling
is used for vaccine efficacy confidence interval construction.
It provides a vector of vaccine efficacy values, with length of nboot
. 95% confidence interval, defined by 2.5th and 97.5th quantile of this vector,
accounts for the uncertainty on the model fit (via parametric resampling of the posterior distribution of the model parameters) and observed data (via bootstrapping).
Usage
coxphParametricSampling(Fit, nboot = 2000, Data.vaccinated, Data.control)
Arguments
Fit |
an object of class inheriting from |
nboot |
a numeric value for number of bootstrap samples for confidence interval construction |
Data.vaccinated |
a data frame for the vaccinated group, containing the variables in the fitted model |
Data.control |
a data frame for the control group, containing the variables in the fitted model |
Value
a vector of vaccine efficacy values VE_set
, with length of nboot
Examples
# Load required packages
library(dplyr)
library(survival)
# Load an example dataset
data(data_temp)
Data.vaccinated <- filter(data_temp, vaccine == 1)
Data.control <- filter(data_temp, vaccine == 0)
# Fit Cox proportional hazards model relating neutralizing titer
# to time to disease or end of follow-up
coxFit <- coxph(Surv(time_event, disease_any) ~ nAb1, data = data_temp)
# Estimate 95\% confidence interval of vaccine efficacy based on the fitted model
efficacySet <- coxphParametricSampling(coxFit, nboot = 500, Data.vaccinated, Data.control)
CI <- lapply(EfficacyCI(efficacySet),"*", 100)
Example of a hypothetical vaccine clinical trial data set
Description
A dataset containing immunogenicity data, and clinical outcome data in the vaccinated and control groups. The dataset is provided in the form of a data frame.
Usage
data_temp
Format
Data frame:
- ID
identification of subjects
- nAb1
value of neutralizing titer for serotype 1
- nAb2
value of neutralizing titer for serotype 2
- group
binary indicator of a baseline demographic characteristics of interest
- vaccine
binary indicator of treatment arm, with value 1 in vaccinated and 0 in control subjects
- type_disease
serotype of disease
- disease_any
binary indicator of disease caused by any serotype
- time_event
time to disease or end of follow-up in days
Accounting for the uncertainty on the fitted "glm"
model and observed data
Description
glmParametricSampling
is used for vaccine efficacy confidence interval construction.
It provides a vector of vaccine efficacy values, with length of nboot
. 95% confidence interval, defined by 2.5th and 97.5th percentile of this vector,
accounts for the uncertainty on the model fit (via parametric resampling of the posterior distribution of the model parameters) and observed data (via bootstrapping).
Usage
glmParametricSampling(Fit, nboot = 2000, Data.vaccinated, Data.control)
Arguments
Fit |
an object of class inheriting from |
nboot |
a numeric value for number of bootstrap samples for confidence interval construction |
Data.vaccinated |
a data frame for the vaccinated group, containing the variables in the fitted model; data must include a column called "vaccine" with binary indicator of vaccination status |
Data.control |
a data frame for the control group, containing the variables in the fitted model; data must include a column called "vaccine" with binary indicator of vaccination status |
Value
a vector of vaccine efficacy values VE_set
, with length of nboot
Examples
# Load required packages
library(dplyr)
# Load an example dataset
data(data_temp)
Data.vaccinated <- filter(data_temp, vaccine == 1)
Data.control <- filter(data_temp, vaccine == 0)
# Fit logistic model relating neutralizing titer to disease status
logisticFit <- glm(disease_any ~ nAb1, data = data_temp, family = binomial())
# Estimate 95\% confidence interval of vaccine efficacy based on the fitted model
efficacySet <- glmParametricSampling(logisticFit, nboot = 500, Data.vaccinated, Data.control)
CI <- lapply(EfficacyCI(efficacySet),"*", 100)
vaxpmx
Description
pharmacometric modeling in vaccines
Author(s)
Julie Dudasova
Vaccine efficacy estimation
Description
Calculates vaccine efficacy and confidence interval as described in Dudasova et al., 2024, BMC Med Res Methodol and Dudasova et al., 2024, NPJ Vaccines
Usage
ve(Fit, Data, nboot = 2000)
Arguments
Fit |
an object of class inheriting from |
Data |
a data frame containing the variables in the fitted model; data must include a column called "vaccine" with binary indicator of vaccination status |
nboot |
a numeric value for number of bootstrap samples for confidence interval construction |
Value
a value of vaccine efficacy VE
and lower and upper bound of confidence interval CI
Examples
#' # Load required packages
library(survival)
# Load an example dataset
data(data_temp)
# Fit logistic model relating neutralizing titer to disease status
logisticFit <- glm(disease_any ~ nAb1, data = data_temp, family = binomial())
# Fit Cox proportional hazards model relating neutralizing titer
# to time to disease or end of follow-up
coxFit <- coxph(Surv(time_event, disease_any) ~ nAb1, data = data_temp)
# Estimate vaccine efficacy and 95\% confidence interval based on the fitted models
ve(logisticFit, data_temp, nboot = 500)
ve(coxFit, data_temp, nboot = 500)