From e308ad4784823bef478b8cc98d7c738f28044c4b Mon Sep 17 00:00:00 2001 From: Nat DeFries <42820733+nmdefries@users.noreply.github.com> Date: Thu, 7 Oct 2021 13:31:27 -0400 Subject: [PATCH 1/3] add vaccination status breakdown --- .../delphiFacebook/R/contingency_indicators.R | 3 +- .../delphiFacebook/R/contingency_variables.R | 39 +++++++++++++++++++ facebook/delphiFacebook/R/responses.R | 1 + 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/facebook/delphiFacebook/R/contingency_indicators.R b/facebook/delphiFacebook/R/contingency_indicators.R index b901b994d..81bddac29 100644 --- a/facebook/delphiFacebook/R/contingency_indicators.R +++ b/facebook/delphiFacebook/R/contingency_indicators.R @@ -63,7 +63,8 @@ get_aggs <- function() { c("gender", "edulevel"), c("occupation"), c("pregnant", "raceethnicity"), - c("race", "hispanic", "pregnant") + c("race", "hispanic", "pregnant"), + c("vaccinationstatus") ) indicators <- tribble( diff --git a/facebook/delphiFacebook/R/contingency_variables.R b/facebook/delphiFacebook/R/contingency_variables.R index 0ec2935a9..2ef37037d 100644 --- a/facebook/delphiFacebook/R/contingency_variables.R +++ b/facebook/delphiFacebook/R/contingency_variables.R @@ -227,6 +227,45 @@ code_health <- function(input_data, wave) { return(input_data) } +#' Vaccinated summary variable for making table cuts +#' +#' @param input_data input data frame of raw survey data +#' @param wave integer indicating survey version +#' +#' @return augmented data frame +code_vaccinated_breakdown <- function(input_data, wave) { + # grouping variable - vaccination status + if (any(c("V1", "V3", "V3a", "V11a") %in% names(input_data))){ + if (all(c("V1", "V3a", "V11a") %in% names(input_data))) { + input_data$vaccinationstatus <- case_when( + input_data$V1 == 1 ~ "Vaccinated", + input_data$V3a == 1 ~ "Accept/Appointment", + input_data$V3a == 2 ~ "Accept/Appointment", + input_data$V11a == 1 ~ "Accept/Appointment", + input_data$V3a == 3 ~ "Hesitant", + input_data$V3a == 4 ~ "Hesitant", + TRUE ~ NA_character_ + ) + } + else if (all(c("V1", "V3") %in% names(input_data))) { + input_data$vaccinationstatus <- case_when( + input_data$V1 == 1 ~ "Vaccinated", + input_data$V3 == 1 ~ "Accept/Appointment", + input_data$V3 == 2 ~ "Accept/Appointment", + input_data$V3 == 3 ~ "Hesitant", + input_data$V3 == 4 ~ "Hesitant", + TRUE ~ NA_character_ + ) + } else { + input_data$vaccinationstatus <- NA + } + } else { + input_data$vaccinationstatus <- NA + } + + return(input_data) +} + #' COVID vaccination variables with modifications for contingency tables #' #' @param input_data input data frame of raw survey data diff --git a/facebook/delphiFacebook/R/responses.R b/facebook/delphiFacebook/R/responses.R index b3b58b72e..2ef6ad3a0 100644 --- a/facebook/delphiFacebook/R/responses.R +++ b/facebook/delphiFacebook/R/responses.R @@ -220,6 +220,7 @@ load_response_one <- function(input_filename, params, contingency_run) { input_data <- code_race_ethnicity(input_data, wave) input_data <- code_occupation(input_data, wave) input_data <- code_education(input_data, wave) + input_data <- code_vaccinated_breakdown(input_data, wave) # Indicators input_data <- code_addl_vaccines(input_data, wave) From a8760cd629487f5672dea4ba651ccd42ecb99570 Mon Sep 17 00:00:00 2001 From: Nat DeFries <42820733+nmdefries@users.noreply.github.com> Date: Fri, 8 Oct 2021 10:53:30 -0400 Subject: [PATCH 2/3] remove outer if to simplify --- .../delphiFacebook/R/contingency_variables.R | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/facebook/delphiFacebook/R/contingency_variables.R b/facebook/delphiFacebook/R/contingency_variables.R index 2ef37037d..50fa66920 100644 --- a/facebook/delphiFacebook/R/contingency_variables.R +++ b/facebook/delphiFacebook/R/contingency_variables.R @@ -235,34 +235,30 @@ code_health <- function(input_data, wave) { #' @return augmented data frame code_vaccinated_breakdown <- function(input_data, wave) { # grouping variable - vaccination status - if (any(c("V1", "V3", "V3a", "V11a") %in% names(input_data))){ - if (all(c("V1", "V3a", "V11a") %in% names(input_data))) { - input_data$vaccinationstatus <- case_when( - input_data$V1 == 1 ~ "Vaccinated", - input_data$V3a == 1 ~ "Accept/Appointment", - input_data$V3a == 2 ~ "Accept/Appointment", - input_data$V11a == 1 ~ "Accept/Appointment", - input_data$V3a == 3 ~ "Hesitant", - input_data$V3a == 4 ~ "Hesitant", - TRUE ~ NA_character_ - ) - } - else if (all(c("V1", "V3") %in% names(input_data))) { - input_data$vaccinationstatus <- case_when( - input_data$V1 == 1 ~ "Vaccinated", - input_data$V3 == 1 ~ "Accept/Appointment", - input_data$V3 == 2 ~ "Accept/Appointment", - input_data$V3 == 3 ~ "Hesitant", - input_data$V3 == 4 ~ "Hesitant", - TRUE ~ NA_character_ - ) - } else { - input_data$vaccinationstatus <- NA - } + if (all(c("V1", "V3a", "V11a") %in% names(input_data))) { + input_data$vaccinationstatus <- case_when( + input_data$V1 == 1 ~ "Vaccinated", + input_data$V3a == 1 ~ "Accept/Appointment", + input_data$V3a == 2 ~ "Accept/Appointment", + input_data$V11a == 1 ~ "Accept/Appointment", + input_data$V3a == 3 ~ "Hesitant", + input_data$V3a == 4 ~ "Hesitant", + TRUE ~ NA_character_ + ) + } + else if (all(c("V1", "V3") %in% names(input_data))) { + input_data$vaccinationstatus <- case_when( + input_data$V1 == 1 ~ "Vaccinated", + input_data$V3 == 1 ~ "Accept/Appointment", + input_data$V3 == 2 ~ "Accept/Appointment", + input_data$V3 == 3 ~ "Hesitant", + input_data$V3 == 4 ~ "Hesitant", + TRUE ~ NA_character_ + ) } else { input_data$vaccinationstatus <- NA } - + return(input_data) } From 340cf4bac36bc01a6ae87f15ab8a8da6d2351609 Mon Sep 17 00:00:00 2001 From: Nat DeFries <42820733+nmdefries@users.noreply.github.com> Date: Fri, 8 Oct 2021 10:54:17 -0400 Subject: [PATCH 3/3] remove line break --- facebook/delphiFacebook/R/contingency_variables.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/facebook/delphiFacebook/R/contingency_variables.R b/facebook/delphiFacebook/R/contingency_variables.R index 50fa66920..4b38dd110 100644 --- a/facebook/delphiFacebook/R/contingency_variables.R +++ b/facebook/delphiFacebook/R/contingency_variables.R @@ -245,8 +245,7 @@ code_vaccinated_breakdown <- function(input_data, wave) { input_data$V3a == 4 ~ "Hesitant", TRUE ~ NA_character_ ) - } - else if (all(c("V1", "V3") %in% names(input_data))) { + } else if (all(c("V1", "V3") %in% names(input_data))) { input_data$vaccinationstatus <- case_when( input_data$V1 == 1 ~ "Vaccinated", input_data$V3 == 1 ~ "Accept/Appointment",