Goal

This document provides summary statistic for each variables, both continuous and categorical variables, and generates distribution for time duration variables. The data used in this script was processed by the main survey cleaning script and the follow up cleaning script. Specifically, we are using the following sets of data, which are located at ~fb_misinfo_interventions/data/chatfuel:

Main survey data

  1. A wide-form dataset, misinfo_clean_wide.csv
  • This dataset contains one row per respondent. It includes all the responents who consented to the study and passed data-quality checks (such as being from one of the eligible countries), regardless of whether they completed the intervention or the quiz. For the users who did not complete the intervention or the quiz, the relevant variables are set to missing.
  1. A long-form dataset, misinfo_clean_long.csv
  • This dataset contains 5 rows per respondent, one for each post (excluding attention check) that the user saw. It includes only the respondents who completed the intervention and the quiz, and passed data-quality checks (such as there being no missing values for the quiz questions).

Follow-up data

  1. A wide-form dataset, misinfo_followup_clean_wide.csv
  • This dataset contains one row per respondent. It includes all the responents who consented to the follow up study and passed data-quality checks, regardless of whether they the quiz. For the users who did not complete followup quiz, the relevant variables are set to missing.
  1. long-form dataset, misinfo_followup_clean_long.csv
  • This dataset contains 5 rows per respondent, one for each post (excluding attention check) that the user saw. It includes only the respondents who completed the followup quiz, and passed data-quality checks (such as there being no missing values for the quiz questions).

Summary

  • This document begins with a data dictionary. It then provides a summary statistics for continuous variables, unordered categorical variables, and ordered categorical variables. The summary statistics are organized by several categories, including phase, treatment arm, chatbot completion status, payment amount, and whether the attention check was passed.

  • Throughout this analysis we defined participants as follows:

    1. consented - participants who consented to start the main survey
    2. completed_quiz - participants who consented to start the main survey and completed the main survey misinformation quiz
    3. consented_followup - participants who completed the main survey misinformation quiz and consented to start the follow-up survey
    4. completed_followup_quiz - participants who consented to start the follow-up and completed the follow-up survey misinformation quiz
  • We limited our analysis to individuals who consented to participate in the study when generating the summary statistics. All participants who consented must have a recorded value for phase_coded, country_coded, payment_amount_coded, and arm_coded.

  • In the process of calculating the outcomes of the main survey data within the cleaning script, we conditioned on those completed_quiz and excluded participants missing any values in the sharing, reliability, and manipulative scores.

  • In the follow up data, we only kept participants who consented to start the follow up survey. In the process of calculating the outcomes of the main survey data within the cleaning script, we conditioned on those completed_followup_quiz and excluded participants missing any values in the sharing, reliability, and manipulative scores.

  • We then showed the distribution of time duration variables, including the time it took for participants to complete the intervention, the misinformation quiz, and the main survey chatbot. We compared the time variables between phases, country, payment amount, treatment arm, and passed attention check.

  • We then showed the distribution of outcome variables and compare them between phases, country, payment amount, treatment arm, and passed attention check.

  • We provided provided the distribution of missing values for each variable in the main survey and follow up data.

Loading R library

packages = c(
  "tidyverse", "data.table", "dtplyr", "rlang", "kableExtra", "haven", "ggcorrplot", "visdat", "VIM", "corrplot", "kableExtra", "fastDummies", "DescTools"
)

# Load the packages, install if necessary
new_packages = packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new_packages)) install.packages(new_packages, dependencies = TRUE)
lapply(packages, require, character.only = TRUE) |> invisible()

Data Loading:

Main Survey

df_wide <- readRDS("./data/chatfuel/processed/misinfo_clean_wide.rds") |> filter(consent_coded_num == 1)

df_long <- readRDS("./data/chatfuel/processed/misinfo_clean_long.rds")

n_wide <- as.character(length(unique(df_wide$analytic_id)))
row_wide <- as.character(nrow(df_wide))
n_long <- as.character(length(unique(df_long$analytic_id)))
row_long <- as.character(nrow(df_long))
  • The data is stored in the data folder in the Github directory. The data is loaded into R using the fread function from the data.table package. The data is loaded into two different formats: wide and long.

  • We are currently having a total 70355 respondents who consented to the study and 42807 respondents who completed_quiz.

  • The wide dataset contains 70355 rows and the long dataset contains 214035 rows.

Follow up

df_wide_followup = df_wide |> select(analytic_id, arm_coded, phase_coded) |> 
    inner_join(
        readRDS("data/chatfuel/processed/misinfo_followup_clean_wide.rds"),
        by = "analytic_id",
        relationship = "one-to-one",
        unmatched = c("drop", "error")
    )

df_long_followup <- readRDS("./data/chatfuel/processed/misinfo_followup_clean_long.rds")

n_followup_wide <- as.character(length(unique(df_wide_followup$analytic_id)))
row_followup_wide <- as.character(nrow(df_wide_followup))
n_followup_long <- as.character(length(unique(df_long_followup$analytic_id)))
row_followup_long <- as.character(nrow(df_long_followup))
  • We are currently having a total 19950 respondents who consented to the follow up study and 18531 respondents who completed the follow up misinformation quiz.

  • The wide dataset contains 19950 rows and the long dataset contains 92655 rows.

Data Dictionary

library(Hmisc)
a <- label(df_wide) %>% data.frame()
b <- label(df_long)  %>% data.frame() %>% slice(-1) # removing analytic_id to prevent duplication 
c <- label(df_wide_followup)  %>% data.frame() %>% slice(-1) # removing analytic_id to prevent duplication 
d <- label(df_long_followup)  %>% data.frame() %>% slice(-1) # removing analytic_id to prevent duplication 

# appending four dataframe and sorting by alphabetical order
combined_dictionary <- rbind(a, b, c, d)

# needing to put in alphabetical order

combined_dictionary %>%  kable(digits = 3, col.names = c("Variable Name", "Description")) |>
      kable_styling(bootstrap_options = c("striped", "hover")) |>
      kableExtra::scroll_box( height = "500px")
Variable Name Description
analytic_id Analytic ID
phase_coded Phase
country_coded Country
payment_amount_coded Payment Amount
payment_condition_dollar
arm_coded Treatment Arm
MisinfoChat_start_time Misinformation Chatbot Start Time
total_duration time duration between the start of the chatbot and the end of the misinformation quiz in minutes
intervention_duration time duration between the start and the end of the intervention in minutes
misinfo_quiz_duration time duration between the start and the end of the misinformation quiz in minutes
misinfoQuiz_end_time Misinfo Quiz End Time
MisinfoQuiz_start_time Misinfo Quiz Start Time
missing_treatment_arm
abnormal_posts
stage_reached_num Stage Reached (Numeric, 1-7; 7 = Completed initial chatbot)
stage_reached_char Stage Reached
consent_coded_num Consent: 1 for I consent, start now, 0 for No let’s stop here
manipulative_reliable_order Order of Manipulative and Reliable Questions
subphase Sub-Phase (for Stratification)
strata Subphase-Country-Payment Strata
mean_share_misinfo Mean Share Score for Misinformation Posts
mean_reliable_misinfo Mean Reliable Score for Misinformation Posts
mean_manipulative_misinfo Mean Manipulative Score for Misinformation Posts
mean_share_nonmisinfo Mean Share Score for Non-Misinformation Posts
mean_reliable_nonmisinfo Mean Reliable Score for Non-Misinformation Posts
mean_manipulative_nonmisinfo Mean Manipulative Score for Non-Misinformation Posts
sharing_discernment Discernment in Sharing Misinformation and Non-Misinformation Posts
reliability_discernment Discernment in Reliability of Misinformation and Non-Misinformation Posts
manipulation_discernment Discernment in Manipulation of Misinformation and Non-Misinformation Posts
attention_check_passed Attention Check Passed; 1 = PASS; 0 = FAIL
quiz_completed
quiz_completed_coded Quiz Completion: 1 = Completed, 0 = Did not complete
post_id Post ID
post_number Post Order Number
post_type Post Type
share_score Share Score
reliable_score Reliable Score
manipulative_score Manipulative Score
phase_coded1 Phase
quiz_completed_coded_num Quiz Completion
arm_coded1 Treatment arm
arm_coded2 Treatment Arm
phase_coded2 Phase
MisinfoChat_start_time_followup Follow up Start Time
MisinfoQuiz_start_time_followup Follow up Quiz Start Time
misinfoQuiz_end_time_followup Follow up Quiz End Time
duration_complete_quiz_followup Follow up Quiz Duration
time_since_completed_intervention Follow up Time Since Completed Intervention in Main Survey
time_since_completed_quiz Follow up Time Since Completed Misinformation Quiz in Main Survey
attention_check_passed_followup_coded_num
user_payment_amount_followup Follow up Payment Amount
followup_entry_point Follow up Entry Point
followup_reflection_1 Follow up Reflection 1
followup_reflection_2 Follow up Reflection 2
followup_reflection_3 Follow up Reflection 3
abnormal_followup_reflection_1 Follow up Abnormal Reflection 1
abnormal_followup_reflection_2 Follow up Abnormal Reflection 2
abnormal_followup_reflection_3 Follow up Abnormal Reflection 3
completed_quiz_followup_coded_num Completed Followup Misinformation Quiz as Binary Variable
mean_share_misinfo_followup Follow up Mean Misinfo Share Score
mean_reliable_misinfo_followup Follow up Mean Misinfo Reliable Score
mean_manipulative_misinfo_followup Follow up Mean Misinfo Manipulative Score
mean_share_nonmisinfo_followup Follow up Mean Nonmisinfo Sharing Score
mean_reliable_nonmisinfo_followup Follow up Mean Nonmisinfo Reliability Score
mean_manipulative_nonmisinfo_followup Follow up Mean Nonmisinfo Manipulation Score
sharing_discernment_followup Follow up Sharing Discernment
reliability_discernment_followup Follow up Reliability Discernment
manipulation_discernment_followup Follow up Manipulation Discernment
quiz_completed_followup Follow up Quiz Completion
attention_check_passed_followup_coded_num1 Follow up Attention Check
completed_quiz_followup_coded_num1 Follow up Quiz Completion
post_number_followup Follow up Post Order Number
post_id_followup Follow up Post ID
manipulative_score_followup Follow up Manipulative Score
reliable_score_followup Follow up Reliable Score
share_score_followup Follow up Share Score
post_type_followup Follow up Post Type
is_followup Is Follow up

Functions

Funtions for continuous variables

  • We created a function to take each variable and group by a categorical variable to calculate the summary statistics for each group.

  • The summary statistics include the number of missing values, the mean, the standard deviation, the standard error, the number of total observation, min, max, and decile values.

  • The function combines the summary statistics for each selected variable and creates an html table

  • The function also generates a csv file, which is saved in the Github directory ~./data/chatfuel_summary_statistics/

summary_stats_continous <- function(dt, variable, group = NULL){
  # Get descriptive statistics for a single continuous variable
  variable_name = variable 
  variable = sym(variable)

  if(!is.null(group)){
    group_name = group
    group = sym(group)
    dt <- dt |> group_by({{group}})
  } # grouping if group variable is selected

  tab = dt |> lazy_dt() |>
    mutate(
      `Number_Missing` = sum(is.na({{variable}})),  # calculate missing values
    ) |>
    filter(!is.na({{variable}})) |>  # filtering out the missing values for the variable
    summarise(
        Total_Observations = n(),
        Number_Missing = first(`Number_Missing`),
        Mean = as.numeric(mean({{variable}})),
        SD = as.numeric(sd({{variable}})),
        SE = as.numeric(sd({{variable}}) / sqrt(n())),
        Min = as.numeric(min({{variable}})),
        Max =  as.numeric(max({{variable}})),
        Decile_10 = as.numeric(quantile({{variable}}, probs = 0.1)),
        Decile_20 = as.numeric(quantile({{variable}}, probs = 0.2)),
        Decile_30 = as.numeric(quantile({{variable}}, probs = 0.3)),
        Decile_40 = as.numeric(quantile({{variable}}, probs = 0.4)),
        Decile_50 = as.numeric(quantile({{variable}}, probs = 0.5)),
        Decile_60 = as.numeric(quantile({{variable}}, probs = 0.6)),
        Decile_70 = as.numeric(quantile({{variable}}, probs = 0.7)),
        Decile_80 = as.numeric(quantile({{variable}}, probs = 0.8)),
        Decile_90 = as.numeric(quantile({{variable}}, probs = 0.9)),
        Decile_91 = as.numeric(quantile({{variable}}, probs = 0.91)),
        Decile_92 = as.numeric(quantile({{variable}}, probs = 0.92)),
        Decile_93 = as.numeric(quantile({{variable}}, probs = 0.93)),
        Decile_94 = as.numeric(quantile({{variable}}, probs = 0.94)),
        Decile_95 = as.numeric(quantile({{variable}}, probs = 0.95)),
        Decile_96 = as.numeric(quantile({{variable}}, probs = 0.96)),
        Decile_97 = as.numeric(quantile({{variable}}, probs = 0.97)),
        Decile_98 = as.numeric(quantile({{variable}}, probs = 0.98)),
        Decile_99 = as.numeric(quantile({{variable}}, probs = 0.99)),
        Decile_100 = as.numeric(quantile({{variable}}, probs = 1))
        
      ) |> # compute summary statistics 
      mutate(
        Proportion_Missing = Number_Missing / Total_Observations,
        Variable = variable_name
      ) |> # adds a column indicating the proportion of missing values relative to the total observations.
      collect()

  if (is.null(group)){
    tab <- tab |> select(Variable, everything())
  } else {
    tab <- tab |> mutate(Group = paste(group_name, ": ", {{group}})) |> select(Variable, Group, everything()) |> select(-{{group}})
  }

  return(tab)
}

summary_stats_table_continous <- function(dt, variables, group = NULL,
  filename = NULL, print_html = TRUE, caption = NULL
  ){
  # Get descriptive statistics for a list of continuous variables and return a combined table
  results <- lapply(variables, function(x) summary_stats_continous(dt, x, group)) # apply the summary_stats_continous function to each variable in the list
  results <- bind_rows(results) # bind the list of dataframes into a single dataframe

  if(!is.null(filename)){
    write.csv(results, paste0("./data/chatfuel_summary_statistics/", filename)) # save as csv file
  }

  if (print_html){
    results = results |> 
      kable(digits = 3,caption = caption) |>
      kable_styling(bootstrap_options = c("striped", "hover")) |>
      scroll_box( height = "500px") # generate html table 
  }
  
  return(results)
}
summary_stats_continous_outcomes <- function(dt, variable, group = NULL){
  # Get descriptive statistics for a single continuous variable
  variable_name = variable 
  variable = sym(variable)

  if(!is.null(group)){
    group_name = group
    group = sym(group)
    dt <- dt |> group_by({{group}})
  } # grouping if group variable is selected

  tab = dt |> lazy_dt() |>
    mutate(
      `Number_Missing` = sum(is.na({{variable}})),  # calculate missing values
    ) |>
    filter(!is.na({{variable}})) |>  # filtering out the missing values for the variable
    summarise(
        Total_Observations = n(),
        Number_Missing = first(`Number_Missing`),
        Mean = as.numeric(mean({{variable}})),
        SD = as.numeric(sd({{variable}})),
        SE = as.numeric(sd({{variable}}) / sqrt(n()))
      ) |> # compute summary statistics 
      mutate(
        Proportion_Missing = Number_Missing / Total_Observations,
        Variable = variable_name
      ) |> # adds a column indicating the proportion of missing values relative to the total observations.
      collect()

  if (is.null(group)){
    tab <- tab |> select(Variable, everything())
  } else {
    tab <- tab |> mutate(Group = paste(group_name, ": ", {{group}})) |> select(Variable, Group, everything()) |> select(-{{group}})
  }

  return(tab)
}

summary_stats_table_continous_outcomes <- function(dt, variables, group = NULL,
  filename = NULL, print_html = TRUE, caption = NULL
  ){
  # Get descriptive statistics for a list of continuous variables and return a combined table
  results <- lapply(variables, function(x) summary_stats_continous_outcomes(dt, x, group)) # apply the summary_stats_continous function to each variable in the list
  results <- bind_rows(results) # bind the list of dataframes into a single dataframe

  if(!is.null(filename)){
    write.csv(results, paste0("./data/chatfuel_summary_statistics/", filename)) # save as csv file
  }

  if (print_html){
    results = results |> 
      kable(digits = 3,caption = caption) |>
      kable_styling(bootstrap_options = c("striped", "hover")) |>
      scroll_box( height = "500px") # generate html table 
  }
  
  return(results)
}

Function for unordered categorical variables

  • We created a function to take each variable and group by a categorical variable to calculate the summary statistics for each group.

  • The summary statistics include the number for each count for each value and the proportion for each value

  • The function combines the summary statistics for each selected variable and creates an html table

  • The function also generates a csv file, which is saved in the Github directory ~./data/chatfuel_summary_statistics/

# Define the function to create summary statistics for unordered categorical variable
summary_stats_categorical <- function(data, variables, group = NULL) {
  combined_results <- data.frame(
    Variable = character(),
    Group = character(),
    Category = character(),
    Frequency = integer(),
    Proportion = numeric(),
    stringsAsFactors = FALSE
  ) # preset a dataframe
  
  for (variable in variables) {
    if (!is.null(group)) {
      # Grouped calculations
      summary_df <- data %>%
        group_by_at(vars(c(group, variable))) %>%
        summarise(Frequency = n(), .groups = 'drop') %>%
        mutate(Proportion = Frequency / sum(Frequency)) %>%
        ungroup() %>%
        mutate(Variable = variable,
               Group = ifelse(is.na(.data[[group]]), "Missing", as.character(.data[[group]])),
               Category = ifelse(is.na(.data[[variable]]), "Missing", as.character(.data[[variable]]))) %>%
        select(Variable, Group, Category, Frequency, Proportion)
    } else {
      # Ungrouped calculations
     summary_df <- data %>%
      select(!!sym(variable)) %>%
      mutate(Category = factor(!!sym(variable), exclude = NULL)) %>% # Include missing values as a factor level
      group_by(Category) %>%
      summarise(
        Frequency = n(),
        Proportion = n() / nrow(data),
        .groups = 'drop' # Avoid regrouping warning
      ) %>%
      ungroup() %>%
      mutate(Variable = variable) %>% # Add variable name
      select(Variable, everything())
    }
    
    # Combine the result with the overall results
    combined_results <- bind_rows(combined_results, summary_df)
  }
  
  return(combined_results)
}

summary_stats_tab_categorical <- function(dt, variables, group = NULL,
  filename = NULL, print_html = TRUE, caption = NULL
  ){
  
  results <- lapply(variables, function(x) summary_stats_categorical(dt, x, group))
  results <- bind_rows(results) 

  if(!is.null(filename)){
    write.csv(results, paste0("./data/chatfuel_summary_statistics/", filename)) # save as csv file
  }

  if (print_html){
    results = results |> 
      kable(digits = 3,caption = caption) |>
      kable_styling(bootstrap_options = c("striped", "hover")) |>
      scroll_box( height = "500px") # generate html table 
  }
  
  return(results)
}

Function for generating probability distribution

Density plot

create_density_plot <- function(data, x_var, group_var, x_min, x_max, title, x_label, y_label,  file_basename)  {
  plt <-
  ggplot(data, aes_string(x = x_var, group = group_var, fill = group_var)) +
    geom_density(alpha = 0.7, color = "black") +
    labs(title = title,
         x = x_label,
         y = y_label) +
    scale_x_continuous(limits = c(x_min, x_max)) +
    theme_minimal()+
    guides(fill = guide_legend(title = NULL))

  print(plt)

  # Export the data used for the graph to CSV
  write.csv(data, paste0("./data/chatfuel_summary_statistics/", file_basename, ".csv"))

  # Save the plot to JPG
  ggsave(paste0("./data/chatfuel_summary_statistics/", file_basename, ".jpg"), plt, device = "jpg", width = 10, height = 8)

  # Save the plot to PDF
  ggsave(paste0("./data/chatfuel_summary_statistics/", file_basename, ".pdf"), plt, device = "pdf", width = 10, height = 8)
}  

Histogram

create_histogram_grouped <- function(data, x_var, group_var, bin_width, title, x_label, y_label, line_color = "black", file_basename) {
  # Generate the histogram
  plt <- ggplot(data, aes_string(x = x_var, fill = group_var)) +
    geom_histogram(binwidth = bin_width, color = line_color, position = "identity", alpha = 0.5) +
    labs(title = title, x = x_label, y = y_label) +
    theme_minimal() +
    guides(fill = guide_legend(title = NULL))

  # Print the plot
  print(plt)
  
  # Export the data used for the graph to CSV
  write.csv(data, paste0("./data/chatfuel_summary_statistics/", file_basename, ".csv"))

  # Save the plot to JPG
  ggsave(paste0("./data/chatfuel_summary_statistics/", file_basename, ".jpg"), plt, device = "jpg", width = 10, height = 8)

  # Save the plot to PDF
  ggsave(paste0("./data/chatfuel_summary_statistics/", file_basename, ".pdf"), plt, device = "pdf", width = 10, height = 8)
}

Summary Statistics for Continous Variables

User level variables include responses from individuals who consented to participate in the study.

Post level variables only include responses from individuals who completed the misinformation quiz.

User level variables

continous_var <- c("intervention_duration", "total_duration", "misinfo_quiz_duration",
                    "mean_share_misinfo", "mean_reliable_misinfo", "mean_manipulative_misinfo", "mean_share_nonmisinfo",
                    "mean_reliable_nonmisinfo", "mean_manipulative_nonmisinfo", "sharing_discernment", "reliability_discernment", "manipulation_discernment")


summary_stats_table_continous(df_wide,
  variables = continous_var,
  filename = "continous_stat_results_consent.csv",
  caption = "Summary Statistics for Continous Variables",
  print_html = TRUE
  )
Summary Statistics for Continous Variables
Variable Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration 52068 18287 278.194 3178.435 13.929 3.967 128975.6 9.250 11.700 13.033 14.300 15.733 17.683 20.767 26.900 60.638 76.232 102.821 144.437 222.816 349.768 550.801 870.765 1458.586 3847.463 128975.6 0.351
total_duration 43978 26377 636.825 5498.200 26.218 6.850 135561.0 16.883 19.367 21.467 23.700 26.383 30.133 36.183 51.450 239.367 317.518 426.377 558.294 732.024 990.251 1361.682 2032.999 3890.957 12080.045 135561.0 0.600
misinfo_quiz_duration 43973 26382 299.701 4124.102 19.667 1.200 133550.8 3.817 4.517 5.117 5.717 6.400 7.250 8.400 10.400 17.367 19.709 23.387 29.049 40.917 73.880 169.487 401.799 844.704 2667.263 133550.8 0.600
mean_share_misinfo 42807 27548 0.529 0.383 0.002 0.000 1.0 0.000 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.0 0.644
mean_reliable_misinfo 42807 27548 2.595 1.245 0.006 1.000 5.0 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.0 0.644
mean_manipulative_misinfo 42807 27548 3.038 1.291 0.006 1.000 5.0 1.333 1.667 2.333 2.667 3.000 3.667 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.0 0.644
mean_share_nonmisinfo 42807 27548 0.720 0.354 0.002 0.000 1.0 0.000 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.0 0.644
mean_reliable_nonmisinfo 42807 27548 3.107 1.334 0.006 1.000 5.0 1.000 1.500 2.000 3.000 3.000 3.500 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.0 0.644
mean_manipulative_nonmisinfo 42807 27548 2.547 1.333 0.006 1.000 5.0 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.0 0.644
sharing_discernment 42807 27548 0.191 0.405 0.002 -1.000 1.0 -0.333 0.000 0.000 0.000 0.167 0.333 0.333 0.500 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.0 0.644
reliability_discernment 42807 27548 0.513 1.331 0.006 -4.000 4.0 -1.000 -0.500 0.000 0.000 0.333 0.667 1.000 1.667 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.333 3.667 4.000 4.0 0.644
manipulation_discernment 42807 27548 0.491 1.388 0.007 -4.000 4.0 -1.167 -0.500 0.000 0.000 0.333 0.667 1.000 1.667 2.333 2.500 2.667 2.667 2.667 3.000 3.000 3.500 3.667 4.000 4.0 0.644

User level variables, by arm

summary_stats_table_continous(df_wide,
  variables = continous_var,
  group = "arm_coded",
  filename = "continous_stat_results_consent_by_arm.csv",
  caption = "Summary Statistics for Continous Variables, by arm",
  print_html = TRUE
  )
Summary Statistics for Continous Variables, by arm
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration arm_coded : Game 4634 2782 308.098 3392.556 49.837 5.767 128975.58 7.067 8.183 10.250 13.170 17.383 22.610 29.637 43.373 126.495 164.525 219.512 292.338 455.129 609.729 862.239 1209.109 1771.018 4360.392 128975.58 0.600
intervention_duration arm_coded : Long Baseline 10733 3405 234.160 2572.233 24.828 3.967 83247.23 12.867 13.933 15.000 16.150 17.533 19.433 22.323 27.693 52.707 64.659 82.045 119.439 181.778 302.593 495.293 819.585 1373.283 3315.505 83247.23 0.317
intervention_duration arm_coded : Original Baseline 11208 2399 179.598 2291.842 21.648 4.217 93628.07 7.083 7.967 8.750 9.650 10.667 11.900 13.617 16.467 26.488 29.012 33.191 39.635 52.534 86.364 166.042 350.876 712.181 2261.329 93628.07 0.214
intervention_duration arm_coded : SMS 20577 7145 316.006 3583.288 24.980 5.683 125646.87 12.300 13.333 14.367 15.433 16.867 18.727 21.717 27.483 61.457 76.488 105.147 143.144 232.875 351.197 549.554 854.909 1464.843 4106.158 125646.87 0.347
intervention_duration arm_coded : Video 4916 2556 412.666 3992.914 56.949 9.000 106594.78 10.967 11.933 12.850 13.983 15.533 18.117 23.033 39.917 248.008 311.084 425.330 521.353 657.562 853.650 1197.477 1576.660 2577.520 5481.641 106594.78 0.520
total_duration arm_coded : Game 3481 3935 764.863 6309.786 106.946 8.150 132509.32 14.433 17.683 21.100 24.917 30.067 36.783 48.117 75.733 398.183 518.893 669.323 842.643 1126.410 1417.883 2095.240 3206.360 5220.943 13115.590 132509.32 1.130
total_duration arm_coded : Long Baseline 9173 4965 557.098 4724.967 49.334 12.033 98018.13 18.983 21.000 22.993 25.113 27.633 31.303 36.950 49.950 198.173 279.461 378.037 516.126 681.453 927.490 1278.223 1798.385 3765.373 10519.382 98018.13 0.541
total_duration arm_coded : Original Baseline 9152 4455 583.971 5461.230 57.086 6.850 133564.78 13.385 15.353 17.117 18.950 21.167 23.983 28.323 37.443 137.642 192.395 267.711 383.994 533.313 715.074 984.319 1468.388 2802.173 9961.019 133564.78 0.487
total_duration arm_coded : SMS 18036 9686 642.503 5469.059 40.723 11.733 125650.88 18.767 20.850 22.800 24.983 27.667 31.250 37.300 52.167 229.658 302.993 405.570 523.650 687.817 962.025 1343.770 1973.753 4018.640 13533.750 125650.88 0.537
total_duration arm_coded : Video 4136 3336 798.080 6477.553 100.721 11.450 135561.02 17.717 19.883 21.767 23.833 26.733 30.950 39.675 83.050 529.158 633.308 772.633 977.788 1259.270 1506.842 1937.587 2729.385 4744.033 12510.097 135561.02 0.807
misinfo_quiz_duration arm_coded : Game 3481 3935 436.080 5499.362 93.210 1.517 132476.25 3.550 4.233 4.800 5.350 6.000 6.767 7.850 9.750 16.083 19.490 23.417 33.820 53.370 106.617 237.983 549.193 1425.103 5131.283 132476.25 1.130
misinfo_quiz_duration arm_coded : Long Baseline 9172 4966 230.460 3179.488 33.199 1.400 93547.08 3.600 4.250 4.788 5.350 5.958 6.717 7.817 9.633 16.032 17.683 20.683 26.104 35.168 60.845 132.783 360.972 731.122 1950.640 93547.08 0.541
misinfo_quiz_duration arm_coded : Original Baseline 9151 4456 337.267 4459.293 46.616 1.333 133550.80 3.867 4.583 5.200 5.833 6.533 7.400 8.600 10.783 18.367 21.000 25.217 32.083 52.200 101.400 211.367 467.992 824.100 2734.067 133550.80 0.487
misinfo_quiz_duration arm_coded : SMS 18033 9689 269.978 3873.453 28.845 1.200 121920.62 3.967 4.650 5.250 5.867 6.567 7.450 8.567 10.617 17.197 19.352 22.365 27.433 35.951 57.333 126.447 332.730 756.945 2138.951 121920.62 0.537
misinfo_quiz_duration arm_coded : Video 4136 3336 384.948 4849.992 75.414 1.617 120152.10 3.983 4.717 5.350 6.033 6.767 7.600 8.700 10.767 20.450 24.064 29.397 40.720 60.685 162.488 301.123 594.364 1164.892 3107.946 120152.10 0.807
mean_share_misinfo arm_coded : Game 3242 4174 0.730 0.316 0.006 0.000 1.00 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 1.287
mean_share_misinfo arm_coded : Long Baseline 9163 4975 0.627 0.371 0.004 0.000 1.00 0.000 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.543
mean_share_misinfo arm_coded : Original Baseline 8834 4773 0.621 0.367 0.004 0.000 1.00 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.540
mean_share_misinfo arm_coded : SMS 17714 10008 0.369 0.351 0.003 0.000 1.00 0.000 0.000 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.565
mean_share_misinfo arm_coded : Video 3854 3618 0.651 0.366 0.006 0.000 1.00 0.000 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.939
mean_reliable_misinfo arm_coded : Game 3242 4174 2.908 1.257 0.022 1.000 5.00 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_reliable_misinfo arm_coded : Long Baseline 9163 4975 2.865 1.265 0.013 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_reliable_misinfo arm_coded : Original Baseline 8834 4773 2.819 1.273 0.014 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.540
mean_reliable_misinfo arm_coded : SMS 17714 10008 2.242 1.117 0.008 1.000 5.00 1.000 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.000 4.000 4.000 4.333 4.667 5.000 5.000 5.000 5.000 5.00 0.565
mean_reliable_misinfo arm_coded : Video 3854 3618 2.794 1.279 0.021 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_manipulative_misinfo arm_coded : Game 3242 4174 2.788 1.264 0.022 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_manipulative_misinfo arm_coded : Long Baseline 9163 4975 3.021 1.282 0.013 1.000 5.00 1.000 1.667 2.333 2.667 3.000 3.667 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_manipulative_misinfo arm_coded : Original Baseline 8834 4773 2.957 1.291 0.014 1.000 5.00 1.000 1.667 2.000 2.333 3.000 3.333 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.540
mean_manipulative_misinfo arm_coded : SMS 17714 10008 3.171 1.285 0.010 1.000 5.00 1.333 2.000 2.333 2.667 3.333 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.565
mean_manipulative_misinfo arm_coded : Video 3854 3618 2.861 1.296 0.021 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_share_nonmisinfo arm_coded : Game 3242 4174 0.797 0.309 0.005 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 1.287
mean_share_nonmisinfo arm_coded : Long Baseline 9163 4975 0.769 0.333 0.003 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.543
mean_share_nonmisinfo arm_coded : Original Baseline 8834 4773 0.759 0.340 0.004 0.000 1.00 0.000 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.540
mean_share_nonmisinfo arm_coded : SMS 17714 10008 0.642 0.372 0.003 0.000 1.00 0.000 0.500 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.565
mean_share_nonmisinfo arm_coded : Video 3854 3618 0.804 0.314 0.005 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.939
mean_reliable_nonmisinfo arm_coded : Game 3242 4174 3.110 1.334 0.023 1.000 5.00 1.500 1.500 2.000 2.500 3.000 3.500 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_reliable_nonmisinfo arm_coded : Long Baseline 9163 4975 3.285 1.320 0.014 1.000 5.00 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_reliable_nonmisinfo arm_coded : Original Baseline 8834 4773 3.219 1.356 0.014 1.000 5.00 1.500 2.000 2.500 3.000 3.000 3.500 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.540
mean_reliable_nonmisinfo arm_coded : SMS 17714 10008 2.932 1.303 0.010 1.000 5.00 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.565
mean_reliable_nonmisinfo arm_coded : Video 3854 3618 3.230 1.357 0.022 1.000 5.00 1.500 2.000 2.000 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_manipulative_nonmisinfo arm_coded : Game 3242 4174 2.498 1.320 0.023 1.000 5.00 1.000 1.000 1.500 2.000 2.000 3.000 3.000 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_manipulative_nonmisinfo arm_coded : Long Baseline 9163 4975 2.620 1.358 0.014 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_manipulative_nonmisinfo arm_coded : Original Baseline 8834 4773 2.573 1.362 0.014 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.540
mean_manipulative_nonmisinfo arm_coded : SMS 17714 10008 2.528 1.305 0.010 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.565
mean_manipulative_nonmisinfo arm_coded : Video 3854 3618 2.445 1.340 0.022 1.000 5.00 1.000 1.000 1.500 1.500 2.000 3.000 3.000 3.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
sharing_discernment arm_coded : Game 3242 4174 0.067 0.366 0.006 -1.000 1.00 -0.500 -0.167 0.000 0.000 0.000 0.000 0.333 0.333 0.667 0.667 0.667 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.00 1.287
sharing_discernment arm_coded : Long Baseline 9163 4975 0.142 0.382 0.004 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.543
sharing_discernment arm_coded : Original Baseline 8834 4773 0.138 0.386 0.004 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.540
sharing_discernment arm_coded : SMS 17714 10008 0.273 0.423 0.003 -1.000 1.00 -0.167 0.000 0.000 0.167 0.333 0.333 0.500 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.565
sharing_discernment arm_coded : Video 3854 3618 0.153 0.374 0.006 -1.000 1.00 -0.167 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.939
reliability_discernment arm_coded : Game 3242 4174 0.202 1.178 0.021 -4.000 4.00 -1.167 -0.667 -0.333 0.000 0.000 0.333 0.667 1.000 1.667 1.833 2.000 2.000 2.167 2.333 2.500 2.667 3.000 3.500 4.00 1.287
reliability_discernment arm_coded : Long Baseline 9163 4975 0.420 1.325 0.014 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.667 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.500 4.000 4.00 0.543
reliability_discernment arm_coded : Original Baseline 8834 4773 0.400 1.303 0.014 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 1.000 1.333 2.167 2.333 2.333 2.500 2.667 2.667 2.667 3.000 3.333 4.000 4.00 0.540
reliability_discernment arm_coded : SMS 17714 10008 0.690 1.369 0.010 -4.000 4.00 -0.833 -0.333 0.000 0.167 0.500 0.833 1.333 2.000 2.667 2.667 2.667 2.667 3.000 3.000 3.333 3.667 4.000 4.000 4.00 0.565
reliability_discernment arm_coded : Video 3854 3618 0.435 1.249 0.020 -4.000 4.00 -1.000 -0.500 0.000 0.000 0.333 0.500 1.000 1.333 2.167 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.333 3.667 4.00 0.939
manipulation_discernment arm_coded : Game 3242 4174 0.290 1.238 0.022 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 0.667 1.167 2.000 2.000 2.000 2.167 2.333 2.667 2.667 2.667 3.167 3.667 4.00 1.287
manipulation_discernment arm_coded : Long Baseline 9163 4975 0.401 1.351 0.014 -4.000 4.00 -1.333 -0.667 -0.167 0.000 0.167 0.667 1.000 1.500 2.167 2.333 2.333 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.00 0.543
manipulation_discernment arm_coded : Original Baseline 8834 4773 0.384 1.351 0.014 -4.000 4.00 -1.333 -0.500 -0.167 0.000 0.167 0.500 1.000 1.333 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.333 3.667 4.000 4.00 0.540
manipulation_discernment arm_coded : SMS 17714 10008 0.643 1.451 0.011 -4.000 4.00 -1.000 -0.500 0.000 0.167 0.500 0.833 1.333 2.000 2.667 2.667 2.667 3.000 3.000 3.167 3.500 3.667 4.000 4.000 4.00 0.565
manipulation_discernment arm_coded : Video 3854 3618 0.416 1.316 0.021 -4.000 4.00 -1.167 -0.500 0.000 0.000 0.167 0.500 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.00 0.939

User level variables, by phase

summary_stats_table_continous(df_wide,
  variables = continous_var,
  group = "phase_coded",
  filename = "continous_stat_results_consent_by_phase.csv",
  caption = "Summary Statistics for Continous Variables, by phase",
  print_html = TRUE
  )
Summary Statistics for Continous Variables, by phase
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration phase_coded : Phase 1 20694 9033 316.339 3571.987 24.831 4.617 128975.58 8.033 10.067 11.650 13.133 14.817 17.180 21.133 29.983 90.682 116.928 162.489 230.900 335.411 497.982 679.997 1078.406 1645.818 4576.045 128975.58 0.437
intervention_duration phase_coded : Phase 2 31374 9254 253.034 2889.448 16.313 3.967 94308.27 11.067 12.617 13.717 14.833 16.167 17.917 20.583 25.533 47.895 57.674 72.997 102.904 151.953 260.885 436.356 713.886 1323.139 3180.126 94308.27 0.295
total_duration phase_coded : Phase 1 16818 12909 686.387 6144.889 47.383 7.133 135561.02 15.767 18.483 20.917 23.400 26.450 30.850 38.550 59.873 325.932 419.484 530.287 668.444 846.980 1142.517 1477.040 2285.286 4229.497 9395.048 135561.02 0.768
total_duration phase_coded : Phase 2 27160 13468 606.136 5056.339 30.681 6.850 98018.13 17.583 19.800 21.733 23.850 26.350 29.773 35.050 47.917 188.365 258.681 352.014 486.017 635.745 896.550 1291.778 1850.392 3753.917 13068.810 98018.13 0.496
misinfo_quiz_duration phase_coded : Phase 1 16817 12910 359.649 4841.823 37.337 1.517 133550.80 3.983 4.750 5.417 6.083 6.817 7.717 8.933 11.200 19.947 23.159 28.595 39.063 59.500 122.323 261.159 521.861 1057.455 3236.010 133550.80 0.768
misinfo_quiz_duration phase_coded : Phase 2 27156 13472 262.577 3608.363 21.897 1.200 97110.57 3.733 4.400 4.950 5.500 6.150 6.950 8.067 9.917 16.050 17.883 20.767 25.522 32.750 54.104 121.337 332.147 726.955 2057.485 97110.57 0.496
mean_share_misinfo phase_coded : Phase 1 15693 14034 0.581 0.378 0.003 0.000 1.00 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.894
mean_share_misinfo phase_coded : Phase 2 27114 13514 0.499 0.382 0.002 0.000 1.00 0.000 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.498
mean_reliable_misinfo phase_coded : Phase 1 15693 14034 2.675 1.270 0.010 1.000 5.00 1.000 1.333 1.667 2.000 2.333 3.000 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.894
mean_reliable_misinfo phase_coded : Phase 2 27114 13514 2.548 1.227 0.007 1.000 5.00 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.333 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.498
mean_manipulative_misinfo phase_coded : Phase 1 15693 14034 2.945 1.299 0.010 1.000 5.00 1.000 1.667 2.000 2.333 3.000 3.333 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.894
mean_manipulative_misinfo phase_coded : Phase 2 27114 13514 3.092 1.284 0.008 1.000 5.00 1.333 1.667 2.333 2.667 3.000 3.667 4.000 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.498
mean_share_nonmisinfo phase_coded : Phase 1 15693 14034 0.747 0.344 0.003 0.000 1.00 0.000 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.894
mean_share_nonmisinfo phase_coded : Phase 2 27114 13514 0.704 0.359 0.002 0.000 1.00 0.000 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.498
mean_reliable_nonmisinfo phase_coded : Phase 1 15693 14034 3.129 1.350 0.011 1.000 5.00 1.000 1.700 2.000 3.000 3.000 3.500 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.894
mean_reliable_nonmisinfo phase_coded : Phase 2 27114 13514 3.095 1.325 0.008 1.000 5.00 1.000 1.500 2.000 3.000 3.000 3.500 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.498
mean_manipulative_nonmisinfo phase_coded : Phase 1 15693 14034 2.511 1.345 0.011 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.894
mean_manipulative_nonmisinfo phase_coded : Phase 2 27114 13514 2.568 1.326 0.008 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.498
sharing_discernment phase_coded : Phase 1 15693 14034 0.166 0.397 0.003 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.894
sharing_discernment phase_coded : Phase 2 27114 13514 0.205 0.408 0.002 -1.000 1.00 -0.333 0.000 0.000 0.000 0.167 0.333 0.333 0.500 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.498
reliability_discernment phase_coded : Phase 1 15693 14034 0.454 1.302 0.010 -4.000 4.00 -1.000 -0.500 0.000 0.000 0.333 0.667 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.167 3.500 4.000 4.00 0.894
reliability_discernment phase_coded : Phase 2 27114 13514 0.547 1.347 0.008 -4.000 4.00 -1.000 -0.500 0.000 0.000 0.333 0.667 1.167 1.667 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.333 3.667 4.000 4.00 0.498
manipulation_discernment phase_coded : Phase 1 15693 14034 0.433 1.363 0.011 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.667 1.000 1.500 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.333 3.667 4.000 4.00 0.894
manipulation_discernment phase_coded : Phase 2 27114 13514 0.524 1.402 0.009 -4.000 4.00 -1.167 -0.500 0.000 0.000 0.333 0.667 1.167 1.667 2.500 2.667 2.667 2.667 2.667 3.000 3.167 3.500 4.000 4.000 4.00 0.498

User level variables by country

summary_stats_table_continous(df_wide,
  variables = continous_var,
  group = "country_coded",
  filename = "continous_stat_results_consent_by_country.csv",
  caption = "Summary Statistics for Continous Variables, by country",
  print_html = TRUE
  )
Summary Statistics for Continous Variables, by country
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration country_coded : Ghana 6008 2129 160.389 1937.515 24.997 4.283 81425.83 9.783 12.117 13.650 15.183 16.817 18.883 22.232 27.950 50.488 57.902 71.956 96.605 153.968 255.894 447.220 660.265 1108.237 2186.374 81425.83 0.354
intervention_duration country_coded : Kenya 6865 2437 301.148 3513.647 42.407 4.617 93585.18 8.807 11.467 12.720 13.877 15.133 16.867 19.397 24.203 46.823 53.400 67.165 95.491 134.726 219.973 433.041 768.429 1434.685 4227.299 93585.18 0.355
intervention_duration country_coded : Nigeria 23368 8010 279.834 3189.211 20.863 3.967 125646.87 9.567 11.933 13.333 14.683 16.200 18.250 21.483 28.010 65.872 82.899 113.055 163.544 258.979 403.581 602.914 953.932 1533.669 3881.215 125646.87 0.343
intervention_duration country_coded : South Africa 15827 5711 310.536 3381.305 26.877 4.517 128975.58 8.800 11.400 12.633 13.717 15.000 16.767 19.687 25.767 68.757 88.572 120.595 164.367 243.095 355.145 547.163 849.014 1476.629 4740.829 128975.58 0.361
total_duration country_coded : Ghana 5086 3051 303.026 2845.602 39.901 9.150 84883.20 18.100 20.817 23.117 25.650 28.467 32.367 38.425 50.633 150.083 203.699 267.993 379.063 504.225 667.679 933.637 1344.075 1997.582 4612.342 84883.20 0.600
total_duration country_coded : Kenya 5883 3419 817.022 6643.332 86.614 6.850 119665.73 16.570 19.073 21.160 23.250 25.550 28.870 34.057 46.093 190.547 278.467 382.649 556.186 764.495 1114.907 1471.279 2766.620 5249.461 18642.040 119665.73 0.581
total_duration country_coded : Nigeria 19236 12142 672.953 5760.379 41.533 7.050 135561.02 17.383 20.000 22.267 24.683 27.500 31.467 37.983 55.700 293.333 391.603 504.663 624.505 820.407 1119.546 1444.673 2213.253 4023.983 12557.414 135561.02 0.631
total_duration country_coded : South Africa 13773 7765 632.661 5318.933 45.322 7.467 133564.78 16.183 18.400 20.183 22.083 24.367 27.700 33.483 48.803 226.153 301.007 392.541 522.774 697.836 903.903 1341.753 2019.923 4252.535 13463.291 133564.78 0.564
misinfo_quiz_duration country_coded : Ghana 5086 3051 100.775 1900.496 26.649 1.617 84875.15 4.317 5.067 5.717 6.350 7.133 8.017 9.133 11.150 16.908 18.523 20.967 24.034 28.255 37.263 64.977 127.277 392.175 1198.757 84875.15 0.600
misinfo_quiz_duration country_coded : Kenya 5882 3420 500.689 5740.277 74.846 1.200 119539.68 3.817 4.600 5.200 5.773 6.417 7.217 8.317 10.100 15.745 16.900 19.259 23.961 32.981 56.361 146.015 379.651 995.730 6127.840 119539.68 0.581
misinfo_quiz_duration country_coded : Nigeria 19234 12144 322.763 4257.412 30.698 1.400 132476.25 3.967 4.717 5.367 6.050 6.800 7.750 8.967 11.233 19.645 22.668 27.533 35.856 57.394 122.306 265.355 538.912 1101.331 2924.565 132476.25 0.631
misinfo_quiz_duration country_coded : South Africa 13771 7767 255.112 3681.688 31.374 1.533 133550.80 3.567 4.150 4.633 5.133 5.667 6.333 7.267 8.850 15.133 17.512 20.633 27.000 36.000 58.983 131.363 316.183 710.117 2001.438 133550.80 0.564
mean_share_misinfo country_coded : Ghana 4922 3215 0.482 0.388 0.006 0.000 1.00 0.000 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.653
mean_share_misinfo country_coded : Kenya 5714 3588 0.507 0.385 0.005 0.000 1.00 0.000 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.628
mean_share_misinfo country_coded : Nigeria 18626 12752 0.552 0.387 0.003 0.000 1.00 0.000 0.000 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.685
mean_share_misinfo country_coded : South Africa 13545 7993 0.523 0.373 0.003 0.000 1.00 0.000 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.590
mean_reliable_misinfo country_coded : Ghana 4922 3215 2.569 1.262 0.018 1.000 5.00 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.653
mean_reliable_misinfo country_coded : Kenya 5714 3588 2.432 1.217 0.016 1.000 5.00 1.000 1.333 1.667 2.000 2.333 2.333 3.000 3.667 4.333 4.667 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.628
mean_reliable_misinfo country_coded : Nigeria 18626 12752 2.622 1.275 0.009 1.000 5.00 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.685
mean_reliable_misinfo country_coded : South Africa 13545 7993 2.635 1.201 0.010 1.000 5.00 1.000 1.333 1.667 2.333 2.333 3.000 3.333 3.667 4.333 4.667 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.590
mean_manipulative_misinfo country_coded : Ghana 4922 3215 3.240 1.264 0.018 1.000 5.00 1.333 2.000 2.333 3.000 3.333 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.653
mean_manipulative_misinfo country_coded : Kenya 5714 3588 3.069 1.319 0.017 1.000 5.00 1.333 1.667 2.000 2.400 3.000 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.628
mean_manipulative_misinfo country_coded : Nigeria 18626 12752 2.899 1.302 0.010 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.685
mean_manipulative_misinfo country_coded : South Africa 13545 7993 3.142 1.253 0.011 1.000 5.00 1.333 2.000 2.333 2.667 3.333 3.667 4.000 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.590
mean_share_nonmisinfo country_coded : Ghana 4922 3215 0.713 0.357 0.005 0.000 1.00 0.000 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.653
mean_share_nonmisinfo country_coded : Kenya 5714 3588 0.711 0.352 0.005 0.000 1.00 0.000 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.628
mean_share_nonmisinfo country_coded : Nigeria 18626 12752 0.740 0.350 0.003 0.000 1.00 0.000 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.685
mean_share_nonmisinfo country_coded : South Africa 13545 7993 0.697 0.358 0.003 0.000 1.00 0.000 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.590
mean_reliable_nonmisinfo country_coded : Ghana 4922 3215 3.253 1.324 0.019 1.000 5.00 1.500 2.000 2.500 3.000 3.000 3.500 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.653
mean_reliable_nonmisinfo country_coded : Kenya 5714 3588 2.967 1.351 0.018 1.000 5.00 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.628
mean_reliable_nonmisinfo country_coded : Nigeria 18626 12752 3.140 1.361 0.010 1.000 5.00 1.000 1.500 2.000 3.000 3.000 3.500 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.685
mean_reliable_nonmisinfo country_coded : South Africa 13545 7993 3.068 1.285 0.011 1.000 5.00 1.500 2.000 2.000 3.000 3.000 3.500 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.590
mean_manipulative_nonmisinfo country_coded : Ghana 4922 3215 2.834 1.376 0.020 1.000 5.00 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.653
mean_manipulative_nonmisinfo country_coded : Kenya 5714 3588 2.655 1.346 0.018 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.628
mean_manipulative_nonmisinfo country_coded : Nigeria 18626 12752 2.456 1.336 0.010 1.000 5.00 1.000 1.000 1.500 1.500 2.000 3.000 3.000 3.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.685
mean_manipulative_nonmisinfo country_coded : South Africa 13545 7993 2.522 1.290 0.011 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.590
sharing_discernment country_coded : Ghana 4922 3215 0.231 0.409 0.006 -1.000 1.00 -0.167 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.653
sharing_discernment country_coded : Kenya 5714 3588 0.203 0.404 0.005 -1.000 1.00 -0.167 0.000 0.000 0.000 0.167 0.333 0.333 0.500 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.628
sharing_discernment country_coded : Nigeria 18626 12752 0.189 0.393 0.003 -1.000 1.00 -0.167 0.000 0.000 0.000 0.000 0.333 0.333 0.500 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.685
sharing_discernment country_coded : South Africa 13545 7993 0.174 0.418 0.004 -1.000 1.00 -0.333 -0.167 0.000 0.000 0.167 0.333 0.333 0.500 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.590
reliability_discernment country_coded : Ghana 4922 3215 0.683 1.353 0.019 -4.000 4.00 -0.833 -0.333 0.000 0.167 0.500 1.000 1.333 1.833 2.667 2.667 2.667 2.667 3.000 3.000 3.167 3.500 4.000 4.000 4.00 0.653
reliability_discernment country_coded : Kenya 5714 3588 0.535 1.327 0.018 -4.000 4.00 -0.833 -0.333 0.000 0.000 0.333 0.667 1.000 1.667 2.333 2.500 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.000 4.00 0.628
reliability_discernment country_coded : Nigeria 18626 12752 0.518 1.307 0.010 -4.000 4.00 -1.000 -0.333 0.000 0.000 0.333 0.667 1.000 1.500 2.333 2.500 2.500 2.667 2.667 2.667 3.000 3.333 3.667 4.000 4.00 0.685
reliability_discernment country_coded : South Africa 13545 7993 0.433 1.352 0.012 -4.000 4.00 -1.167 -0.667 -0.167 0.000 0.333 0.667 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.167 3.500 4.000 4.00 0.590
manipulation_discernment country_coded : Ghana 4922 3215 0.406 1.447 0.021 -4.000 4.00 -1.333 -0.667 -0.167 0.000 0.167 0.667 1.000 1.667 2.333 2.500 2.667 2.667 2.667 3.000 3.167 3.500 3.667 4.000 4.00 0.653
manipulation_discernment country_coded : Kenya 5714 3588 0.414 1.360 0.018 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.725 3.000 3.333 3.667 4.000 4.00 0.628
manipulation_discernment country_coded : Nigeria 18626 12752 0.443 1.369 0.010 -4.000 4.00 -1.167 -0.500 0.000 0.000 0.167 0.667 1.000 1.500 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.333 3.667 4.000 4.00 0.685
manipulation_discernment country_coded : South Africa 13545 7993 0.619 1.397 0.012 -4.000 4.00 -1.000 -0.500 0.000 0.167 0.500 0.833 1.333 1.833 2.667 2.667 2.667 2.667 3.000 3.000 3.333 3.500 3.667 4.000 4.00 0.590

User level variables by arm and phase

df_wide = df_wide |> mutate(phase_arm = paste(phase_coded, arm_coded, sep = " - "))

summary_stats_table_continous(df_wide,
  variables = continous_var,
  group = "phase_arm",
  filename = "continous_stat_results_consent_by_phase_arm.csv",
  caption = "Summary Statistics for Continous Variables, by phase and arm",
  print_html = TRUE
  )
Summary Statistics for Continous Variables, by phase and arm
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration phase_arm : Phase 1 - Game 4634 2782 308.098 3392.556 49.837 5.767 128975.58 7.067 8.183 10.250 13.170 17.383 22.610 29.637 43.373 126.495 164.525 219.512 292.338 455.129 609.729 862.239 1209.109 1771.018 4360.392 128975.58 0.600
intervention_duration phase_arm : Phase 1 - Original Baseline 6066 1303 205.088 2607.973 33.485 4.617 93628.07 7.150 8.067 8.858 9.733 10.792 12.067 13.900 16.900 27.942 31.905 37.357 46.204 66.938 107.146 222.417 451.298 827.512 2461.138 93628.07 0.215
intervention_duration phase_arm : Phase 1 - SMS 5078 2392 363.503 4232.636 59.397 8.150 125646.87 12.300 13.600 14.750 15.930 17.483 19.783 22.982 29.880 81.493 107.532 142.082 222.652 313.132 478.135 655.457 989.990 1555.195 4781.591 125646.87 0.471
intervention_duration phase_arm : Phase 1 - Video 4916 2556 412.666 3992.914 56.949 9.000 106594.78 10.967 11.933 12.850 13.983 15.533 18.117 23.033 39.917 248.008 311.084 425.330 521.353 657.562 853.650 1197.477 1576.660 2577.520 5481.641 106594.78 0.520
intervention_duration phase_arm : Phase 2 - Long Baseline 10733 3405 234.160 2572.233 24.828 3.967 83247.23 12.867 13.933 15.000 16.150 17.533 19.433 22.323 27.693 52.707 64.659 82.045 119.439 181.778 302.593 495.293 819.585 1373.283 3315.505 83247.23 0.317
intervention_duration phase_arm : Phase 2 - Original Baseline 5142 1096 149.528 1850.542 25.807 4.217 73585.40 7.000 7.867 8.633 9.540 10.550 11.667 13.367 15.983 24.548 26.749 29.723 34.336 43.253 57.961 110.519 241.675 601.654 2015.385 73585.40 0.213
intervention_duration phase_arm : Phase 2 - SMS 15499 4753 300.444 3343.231 26.854 5.683 94308.27 12.300 13.283 14.250 15.300 16.667 18.450 21.267 26.623 56.580 69.512 91.711 131.326 193.683 310.528 498.529 783.105 1446.189 3679.220 94308.27 0.307
total_duration phase_arm : Phase 1 - Game 3481 3935 764.863 6309.786 106.946 8.150 132509.32 14.433 17.683 21.100 24.917 30.067 36.783 48.117 75.733 398.183 518.893 669.323 842.643 1126.410 1417.883 2095.240 3206.360 5220.943 13115.590 132509.32 1.130
total_duration phase_arm : Phase 1 - Original Baseline 4881 2488 618.807 6041.494 86.475 7.133 133564.78 13.667 15.733 17.467 19.550 21.867 25.000 29.400 40.433 175.950 234.607 330.917 431.727 551.953 723.367 963.963 1445.330 2696.797 7907.067 133564.78 0.510
total_duration phase_arm : Phase 1 - SMS 4320 3150 592.571 5788.243 88.065 11.733 125650.88 19.367 21.833 23.950 26.343 29.442 33.727 40.838 59.017 282.873 361.074 487.053 589.122 754.562 977.183 1301.407 1862.905 3698.296 8035.663 125650.88 0.729
total_duration phase_arm : Phase 1 - Video 4136 3336 798.080 6477.553 100.721 11.450 135561.02 17.717 19.883 21.767 23.833 26.733 30.950 39.675 83.050 529.158 633.308 772.633 977.788 1259.270 1506.842 1937.587 2729.385 4744.033 12510.097 135561.02 0.807
total_duration phase_arm : Phase 2 - Long Baseline 9173 4965 557.098 4724.967 49.334 12.033 98018.13 18.983 21.000 22.993 25.113 27.633 31.303 36.950 49.950 198.173 279.461 378.037 516.126 681.453 927.490 1278.223 1798.385 3765.373 10519.382 98018.13 0.541
total_duration phase_arm : Phase 2 - Original Baseline 4271 1967 544.160 4711.784 72.098 6.850 92191.73 13.100 14.967 16.683 18.433 20.450 23.050 26.833 34.400 103.700 148.847 201.103 300.078 485.053 690.425 1003.283 1505.658 2863.767 12893.532 92191.73 0.461
total_duration phase_arm : Phase 2 - SMS 13716 6536 658.229 5364.721 45.807 12.217 97132.32 18.650 20.600 22.450 24.583 27.150 30.600 36.183 50.250 214.333 285.341 381.310 509.023 668.212 955.758 1350.100 1988.740 4024.917 17180.468 97132.32 0.477
misinfo_quiz_duration phase_arm : Phase 1 - Game 3481 3935 436.080 5499.362 93.210 1.517 132476.25 3.550 4.233 4.800 5.350 6.000 6.767 7.850 9.750 16.083 19.490 23.417 33.820 53.370 106.617 237.983 549.193 1425.103 5131.283 132476.25 1.130
misinfo_quiz_duration phase_arm : Phase 1 - Original Baseline 4881 2488 356.181 4807.964 68.819 1.550 133550.80 4.133 4.917 5.583 6.250 7.017 7.933 9.267 11.633 20.950 25.073 31.637 44.660 81.580 161.400 323.090 535.070 884.727 2795.163 133550.80 0.510
misinfo_quiz_duration phase_arm : Phase 1 - SMS 4319 3151 277.739 4273.269 65.023 1.867 121920.62 4.380 5.200 5.907 6.567 7.350 8.297 9.777 12.150 20.877 23.365 28.200 35.941 50.243 77.693 180.608 388.771 855.293 2786.456 121920.62 0.730
misinfo_quiz_duration phase_arm : Phase 1 - Video 4136 3336 384.948 4849.992 75.414 1.617 120152.10 3.983 4.717 5.350 6.033 6.767 7.600 8.700 10.767 20.450 24.064 29.397 40.720 60.685 162.488 301.123 594.364 1164.892 3107.946 120152.10 0.807
misinfo_quiz_duration phase_arm : Phase 2 - Long Baseline 9172 4966 230.460 3179.488 33.199 1.400 93547.08 3.600 4.250 4.788 5.350 5.958 6.717 7.817 9.633 16.032 17.683 20.683 26.104 35.168 60.845 132.783 360.972 731.122 1950.640 93547.08 0.541
misinfo_quiz_duration phase_arm : Phase 2 - Original Baseline 4270 1968 315.646 4024.348 61.586 1.333 92066.67 3.617 4.300 4.867 5.383 6.033 6.733 7.817 9.717 15.502 18.016 20.332 24.620 31.467 57.041 121.501 346.172 737.365 2400.820 92066.67 0.461
misinfo_quiz_duration phase_arm : Phase 2 - SMS 13714 6538 267.534 3738.859 31.927 1.200 97110.57 3.867 4.533 5.100 5.667 6.333 7.163 8.267 10.140 16.133 17.917 20.916 25.650 32.498 50.642 110.711 296.492 722.232 1944.756 97110.57 0.477
mean_share_misinfo phase_arm : Phase 1 - Game 3242 4174 0.730 0.316 0.006 0.000 1.00 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 1.287
mean_share_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 0.618 0.367 0.005 0.000 1.00 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.612
mean_share_misinfo phase_arm : Phase 1 - SMS 4026 3444 0.352 0.346 0.005 0.000 1.00 0.000 0.000 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.855
mean_share_misinfo phase_arm : Phase 1 - Video 3854 3618 0.651 0.366 0.006 0.000 1.00 0.000 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.939
mean_share_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 0.627 0.371 0.004 0.000 1.00 0.000 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.543
mean_share_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 0.624 0.367 0.006 0.000 1.00 0.000 0.333 0.333 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.463
mean_share_misinfo phase_arm : Phase 2 - SMS 13688 6564 0.374 0.352 0.003 0.000 1.00 0.000 0.000 0.000 0.333 0.333 0.333 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.480
mean_reliable_misinfo phase_arm : Phase 1 - Game 3242 4174 2.908 1.257 0.022 1.000 5.00 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_reliable_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.837 1.284 0.019 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.612
mean_reliable_misinfo phase_arm : Phase 1 - SMS 4026 3444 2.188 1.118 0.018 1.000 5.00 1.000 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.000 4.000 4.000 4.333 4.667 4.667 5.000 5.000 5.000 5.00 0.855
mean_reliable_misinfo phase_arm : Phase 1 - Video 3854 3618 2.794 1.279 0.021 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_reliable_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 2.865 1.265 0.013 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_reliable_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.799 1.261 0.019 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.463
mean_reliable_misinfo phase_arm : Phase 2 - SMS 13688 6564 2.258 1.116 0.010 1.000 5.00 1.000 1.000 1.333 1.667 2.000 2.333 2.667 3.333 3.667 4.000 4.000 4.000 4.333 4.667 5.000 5.000 5.000 5.000 5.00 0.480
mean_manipulative_misinfo phase_arm : Phase 1 - Game 3242 4174 2.788 1.264 0.022 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.000 3.667 4.000 4.667 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_manipulative_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.942 1.290 0.019 1.000 5.00 1.000 1.667 2.000 2.333 3.000 3.333 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.612
mean_manipulative_misinfo phase_arm : Phase 1 - SMS 4026 3444 3.154 1.313 0.021 1.000 5.00 1.333 1.667 2.333 2.667 3.333 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.855
mean_manipulative_misinfo phase_arm : Phase 1 - Video 3854 3618 2.861 1.296 0.021 1.000 5.00 1.000 1.667 2.000 2.333 2.667 3.333 3.667 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_manipulative_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 3.021 1.282 0.013 1.000 5.00 1.000 1.667 2.333 2.667 3.000 3.667 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_manipulative_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.974 1.292 0.020 1.000 5.00 1.000 1.667 2.000 2.333 3.000 3.400 3.667 4.333 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.463
mean_manipulative_misinfo phase_arm : Phase 2 - SMS 13688 6564 3.176 1.276 0.011 1.000 5.00 1.333 2.000 2.333 2.667 3.333 3.667 4.000 4.667 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.480
mean_share_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 0.797 0.309 0.005 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 1.287
mean_share_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 0.762 0.338 0.005 0.000 1.00 0.000 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.612
mean_share_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 0.634 0.375 0.006 0.000 1.00 0.000 0.500 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.855
mean_share_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 0.804 0.314 0.005 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.939
mean_share_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 0.769 0.333 0.003 0.000 1.00 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.543
mean_share_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 0.756 0.342 0.005 0.000 1.00 0.000 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.463
mean_share_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 0.644 0.371 0.003 0.000 1.00 0.000 0.500 0.500 0.500 0.500 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.480
mean_reliable_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 3.110 1.334 0.023 1.000 5.00 1.500 1.500 2.000 2.500 3.000 3.500 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_reliable_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 3.246 1.354 0.020 1.000 5.00 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.612
mean_reliable_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 2.914 1.324 0.021 1.000 5.00 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.855
mean_reliable_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 3.230 1.357 0.022 1.000 5.00 1.500 2.000 2.000 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_reliable_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 3.285 1.320 0.014 1.000 5.00 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_reliable_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 3.190 1.358 0.021 1.000 5.00 1.000 2.000 2.000 3.000 3.000 3.500 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.463
mean_reliable_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 2.938 1.297 0.011 1.000 5.00 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.480
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 2.498 1.320 0.023 1.000 5.00 1.000 1.000 1.500 2.000 2.000 3.000 3.000 4.000 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 1.287
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.589 1.380 0.020 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.612
mean_manipulative_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 2.497 1.326 0.021 1.000 5.00 1.000 1.000 1.500 2.000 2.000 3.000 3.000 3.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.855
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 2.445 1.340 0.022 1.000 5.00 1.000 1.000 1.500 1.500 2.000 3.000 3.000 3.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.939
mean_manipulative_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 2.620 1.358 0.014 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.543
mean_manipulative_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.556 1.343 0.021 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 4.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.463
mean_manipulative_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 2.537 1.298 0.011 1.000 5.00 1.000 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.500 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.000 5.00 0.480
sharing_discernment phase_arm : Phase 1 - Game 3242 4174 0.067 0.366 0.006 -1.000 1.00 -0.500 -0.167 0.000 0.000 0.000 0.000 0.333 0.333 0.667 0.667 0.667 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.00 1.287
sharing_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.143 0.391 0.006 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.612
sharing_discernment phase_arm : Phase 1 - SMS 4026 3444 0.283 0.422 0.007 -1.000 1.00 -0.167 0.000 0.000 0.167 0.333 0.500 0.500 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.855
sharing_discernment phase_arm : Phase 1 - Video 3854 3618 0.153 0.374 0.006 -1.000 1.00 -0.167 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.939
sharing_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.142 0.382 0.004 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.000 1.00 0.543
sharing_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.133 0.380 0.006 -1.000 1.00 -0.333 0.000 0.000 0.000 0.000 0.167 0.333 0.500 0.667 0.667 0.667 0.667 0.667 0.667 1.000 1.000 1.000 1.000 1.00 0.463
sharing_discernment phase_arm : Phase 2 - SMS 13688 6564 0.270 0.423 0.004 -1.000 1.00 -0.167 0.000 0.000 0.167 0.333 0.333 0.500 0.667 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.00 0.480
reliability_discernment phase_arm : Phase 1 - Game 3242 4174 0.202 1.178 0.021 -4.000 4.00 -1.167 -0.667 -0.333 0.000 0.000 0.333 0.667 1.000 1.667 1.833 2.000 2.000 2.167 2.333 2.500 2.667 3.000 3.500 4.00 1.287
reliability_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.409 1.312 0.019 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 1.000 1.333 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.00 0.612
reliability_discernment phase_arm : Phase 1 - SMS 4026 3444 0.726 1.386 0.022 -4.000 4.00 -0.833 -0.333 0.000 0.167 0.500 1.000 1.333 2.000 2.667 2.667 2.667 2.833 3.000 3.167 3.333 3.667 4.000 4.000 4.00 0.855
reliability_discernment phase_arm : Phase 1 - Video 3854 3618 0.435 1.249 0.020 -4.000 4.00 -1.000 -0.500 0.000 0.000 0.333 0.500 1.000 1.333 2.167 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.333 3.667 4.00 0.939
reliability_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.420 1.325 0.014 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.667 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 2.833 3.000 3.500 4.000 4.00 0.543
reliability_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.391 1.292 0.020 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 1.000 1.333 2.167 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.333 4.000 4.00 0.463
reliability_discernment phase_arm : Phase 2 - SMS 13688 6564 0.680 1.364 0.012 -4.000 4.00 -0.833 -0.333 0.000 0.167 0.500 0.833 1.333 2.000 2.500 2.667 2.667 2.667 3.000 3.000 3.333 3.667 4.000 4.000 4.00 0.480
manipulation_discernment phase_arm : Phase 1 - Game 3242 4174 0.290 1.238 0.022 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 0.667 1.167 2.000 2.000 2.000 2.167 2.333 2.667 2.667 2.667 3.167 3.667 4.00 1.287
manipulation_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.353 1.362 0.020 -4.000 4.00 -1.333 -0.667 -0.167 0.000 0.167 0.500 0.833 1.333 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.333 3.667 4.000 4.00 0.612
manipulation_discernment phase_arm : Phase 1 - SMS 4026 3444 0.657 1.471 0.023 -4.000 4.00 -1.000 -0.333 0.000 0.000 0.500 0.833 1.333 2.000 2.667 2.667 3.000 3.000 3.000 3.333 3.500 3.667 4.000 4.000 4.00 0.855
manipulation_discernment phase_arm : Phase 1 - Video 3854 3618 0.416 1.316 0.021 -4.000 4.00 -1.167 -0.500 0.000 0.000 0.167 0.500 1.000 1.500 2.167 2.333 2.500 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.00 0.939
manipulation_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.401 1.351 0.014 -4.000 4.00 -1.333 -0.667 -0.167 0.000 0.167 0.667 1.000 1.500 2.167 2.333 2.333 2.667 2.667 2.667 3.000 3.000 3.500 4.000 4.00 0.543
manipulation_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.418 1.338 0.020 -4.000 4.00 -1.167 -0.500 -0.167 0.000 0.167 0.500 1.000 1.500 2.333 2.333 2.500 2.667 2.667 2.667 3.000 3.167 3.500 4.000 4.00 0.463
manipulation_discernment phase_arm : Phase 2 - SMS 13688 6564 0.639 1.445 0.012 -4.000 4.00 -1.167 -0.500 0.000 0.167 0.500 0.833 1.333 2.000 2.667 2.667 2.667 2.833 3.000 3.167 3.500 3.667 4.000 4.000 4.00 0.480

Post-level variables

summary_stats_table_continous(
  df_long, 
  variables = c("share_score", "reliable_score", "manipulative_score"),
  filename = "continous_stat_results_consent_post.csv",
  caption = "Summary Statistics for Continous Variables",
  print_html = TRUE
  )
Summary Statistics for Continous Variables
Variable Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
share_score 214035 0 0.605 0.489 0.001 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
reliable_score 214035 0 2.800 1.645 0.004 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score 214035 0 2.842 1.666 0.004 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0

Post-level variables, by arm

summary_stats_table_continous(
  df_long, 
  variables = c("share_score", "reliable_score", "manipulative_score"),
  group = "arm_coded",
  filename = "continous_stat_results_consent_post_by_arm.csv",
  caption = "Summary Statistics for Continous Variables, by arm",
  print_html = TRUE
  )
Summary Statistics for Continous Variables, by arm
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
share_score arm_coded : Game 16210 0 0.757 0.429 0.003 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
share_score arm_coded : Long Baseline 45815 0 0.684 0.465 0.002 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
share_score arm_coded : Original Baseline 44170 0 0.676 0.468 0.002 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
share_score arm_coded : SMS 88570 0 0.478 0.500 0.002 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
share_score arm_coded : Video 19270 0 0.712 0.453 0.003 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
reliable_score arm_coded : Game 16210 0 2.989 1.612 0.013 1 5 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score arm_coded : Long Baseline 45815 0 3.033 1.650 0.008 1 5 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score arm_coded : Original Baseline 44170 0 2.979 1.658 0.008 1 5 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score arm_coded : SMS 88570 0 2.518 1.601 0.005 1 5 1 1 1 1 2 2 4 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score arm_coded : Video 19270 0 2.969 1.635 0.012 1 5 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score arm_coded : Game 16210 0 2.672 1.609 0.013 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score arm_coded : Long Baseline 45815 0 2.861 1.670 0.008 1 5 1 1 1 2 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score arm_coded : Original Baseline 44170 0 2.804 1.669 0.008 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score arm_coded : SMS 88570 0 2.914 1.671 0.006 1 5 1 1 1 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score arm_coded : Video 19270 0 2.694 1.649 0.012 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0

Summary statistics for unordered categorical variables

User-level variables

unordered_cat <- c("phase_coded", "country_coded", "payment_amount_coded", "manipulative_reliable_order")

summary_stats_tab_categorical(df_wide,  
                              variables = unordered_cat ,
  filename = "unordered_cat.csv",
  caption = "Summary Statistics for Unordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Unordered Categorical Variables
Variable Group Category Frequency Proportion
phase_coded NA Phase 1 29727 0.423
phase_coded NA Phase 2 40628 0.577
country_coded NA Kenya 9302 0.132
country_coded NA Nigeria 31378 0.446
country_coded NA South Africa 21538 0.306
country_coded NA Ghana 8137 0.116
payment_amount_coded NA 150Ksh 5138 0.073
payment_amount_coded NA ₦800 8917 0.127
payment_amount_coded NA R20 6330 0.090
payment_amount_coded NA ₵12.5 5075 0.072
payment_amount_coded NA ₦400 18155 0.258
payment_amount_coded NA R10 12394 0.176
payment_amount_coded NA R60 2814 0.040
payment_amount_coded NA ₦2400 4308 0.061
payment_amount_coded NA 450Ksh 1221 0.017
payment_amount_coded NA ₵6 2076 0.030
payment_amount_coded NA 75Ksh 2941 0.042
payment_amount_coded NA ₵36 986 0.014
manipulative_reliable_order NA NA 18967 0.270
manipulative_reliable_order NA 1 25738 0.366
manipulative_reliable_order NA 2 25650 0.365

User-level variables, by arm

summary_stats_tab_categorical(
  df_wide,  
  variables = c("phase_coded", "payment_amount_coded", "manipulative_reliable_order"),
  group = "arm_coded",
  filename = "unordered_cat_arm.csv",
  caption = "Summary Statistics for Unordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Unordered Categorical Variables
Variable Group Category Frequency Proportion
phase_coded Game Phase 1 7416 0.105
phase_coded Long Baseline Phase 2 14138 0.201
phase_coded Original Baseline Phase 1 7369 0.105
phase_coded Original Baseline Phase 2 6238 0.089
phase_coded SMS Phase 1 7470 0.106
phase_coded SMS Phase 2 20252 0.288
phase_coded Video Phase 1 7472 0.106
payment_amount_coded Game 150Ksh 995 0.014
payment_amount_coded Game R10 1398 0.020
payment_amount_coded Game R20 828 0.012
payment_amount_coded Game ₦400 2092 0.030
payment_amount_coded Game ₦800 1124 0.016
payment_amount_coded Game ₵12.5 979 0.014
payment_amount_coded Long Baseline 150Ksh 488 0.007
payment_amount_coded Long Baseline 450Ksh 427 0.006
payment_amount_coded Long Baseline 75Ksh 993 0.014
payment_amount_coded Long Baseline R10 2313 0.033
payment_amount_coded Long Baseline R20 1174 0.017
payment_amount_coded Long Baseline R60 933 0.013
payment_amount_coded Long Baseline ₦2400 1363 0.019
payment_amount_coded Long Baseline ₦400 3275 0.047
payment_amount_coded Long Baseline ₦800 1723 0.024
payment_amount_coded Long Baseline ₵12.5 403 0.006
payment_amount_coded Long Baseline ₵36 318 0.005
payment_amount_coded Long Baseline ₵6 728 0.010
payment_amount_coded Original Baseline 150Ksh 1127 0.016
payment_amount_coded Original Baseline 450Ksh 198 0.003
payment_amount_coded Original Baseline 75Ksh 468 0.007
payment_amount_coded Original Baseline R10 2515 0.036
payment_amount_coded Original Baseline R20 1156 0.016
payment_amount_coded Original Baseline R60 514 0.007
payment_amount_coded Original Baseline ₦2400 727 0.010
payment_amount_coded Original Baseline ₦400 3756 0.053
payment_amount_coded Original Baseline ₦800 1536 0.022
payment_amount_coded Original Baseline ₵12.5 1115 0.016
payment_amount_coded Original Baseline ₵36 173 0.002
payment_amount_coded Original Baseline ₵6 322 0.005
payment_amount_coded SMS 150Ksh 1565 0.022
payment_amount_coded SMS 450Ksh 596 0.008
payment_amount_coded SMS 75Ksh 1480 0.021
payment_amount_coded SMS R10 4787 0.068
payment_amount_coded SMS R20 2343 0.033
payment_amount_coded SMS R60 1367 0.019
payment_amount_coded SMS ₦2400 2218 0.032
payment_amount_coded SMS ₦400 6931 0.099
payment_amount_coded SMS ₦800 3404 0.048
payment_amount_coded SMS ₵12.5 1510 0.021
payment_amount_coded SMS ₵36 495 0.007
payment_amount_coded SMS ₵6 1026 0.015
payment_amount_coded Video 150Ksh 963 0.014
payment_amount_coded Video R10 1381 0.020
payment_amount_coded Video R20 829 0.012
payment_amount_coded Video ₦400 2101 0.030
payment_amount_coded Video ₦800 1130 0.016
payment_amount_coded Video ₵12.5 1068 0.015
manipulative_reliable_order Game 1 2285 0.032
manipulative_reliable_order Game 2 2272 0.032
manipulative_reliable_order Game Missing 2859 0.041
manipulative_reliable_order Long Baseline 1 5322 0.076
manipulative_reliable_order Long Baseline 2 5262 0.075
manipulative_reliable_order Long Baseline Missing 3554 0.051
manipulative_reliable_order Original Baseline 1 5577 0.079
manipulative_reliable_order Original Baseline 2 5475 0.078
manipulative_reliable_order Original Baseline Missing 2555 0.036
manipulative_reliable_order SMS 1 10094 0.143
manipulative_reliable_order SMS 2 10243 0.146
manipulative_reliable_order SMS Missing 7385 0.105
manipulative_reliable_order Video 1 2460 0.035
manipulative_reliable_order Video 2 2398 0.034
manipulative_reliable_order Video Missing 2614 0.037

User-level variables, by phase

summary_stats_tab_categorical(
  df_wide,  
  variables = c("arm_coded", "payment_amount_coded", "manipulative_reliable_order"),
  group = "phase_coded",
  filename = "unordered_cat_phase.csv",
  caption = "Summary Statistics for Unordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Unordered Categorical Variables
Variable Group Category Frequency Proportion
arm_coded Phase 1 Game 7416 0.105
arm_coded Phase 1 Original Baseline 7369 0.105
arm_coded Phase 1 SMS 7470 0.106
arm_coded Phase 1 Video 7472 0.106
arm_coded Phase 2 Long Baseline 14138 0.201
arm_coded Phase 2 Original Baseline 6238 0.089
arm_coded Phase 2 SMS 20252 0.288
payment_amount_coded Phase 1 150Ksh 3872 0.055
payment_amount_coded Phase 1 R10 5573 0.079
payment_amount_coded Phase 1 R20 3328 0.047
payment_amount_coded Phase 1 ₦400 8462 0.120
payment_amount_coded Phase 1 ₦800 4465 0.063
payment_amount_coded Phase 1 ₵12.5 4027 0.057
payment_amount_coded Phase 2 150Ksh 1266 0.018
payment_amount_coded Phase 2 450Ksh 1221 0.017
payment_amount_coded Phase 2 75Ksh 2941 0.042
payment_amount_coded Phase 2 R10 6821 0.097
payment_amount_coded Phase 2 R20 3002 0.043
payment_amount_coded Phase 2 R60 2814 0.040
payment_amount_coded Phase 2 ₦2400 4308 0.061
payment_amount_coded Phase 2 ₦400 9693 0.138
payment_amount_coded Phase 2 ₦800 4452 0.063
payment_amount_coded Phase 2 ₵12.5 1048 0.015
payment_amount_coded Phase 2 ₵36 986 0.014
payment_amount_coded Phase 2 ₵6 2076 0.030
manipulative_reliable_order Phase 1 1 10298 0.146
manipulative_reliable_order Phase 1 2 10096 0.144
manipulative_reliable_order Phase 1 Missing 9333 0.133
manipulative_reliable_order Phase 2 1 15440 0.219
manipulative_reliable_order Phase 2 2 15554 0.221
manipulative_reliable_order Phase 2 Missing 9634 0.137

User-level variables, by payment amount

summary_stats_tab_categorical(
  df_wide,  
  variables = c("phase_coded", "arm_coded", "manipulative_reliable_order"),
  group = "payment_amount_coded",
  filename = "unordered_cat_phase.csv",
  caption = "Summary Statistics for Unordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Unordered Categorical Variables
Variable Group Category Frequency Proportion
phase_coded 150Ksh Phase 1 3872 0.055
phase_coded 150Ksh Phase 2 1266 0.018
phase_coded 450Ksh Phase 2 1221 0.017
phase_coded 75Ksh Phase 2 2941 0.042
phase_coded R10 Phase 1 5573 0.079
phase_coded R10 Phase 2 6821 0.097
phase_coded R20 Phase 1 3328 0.047
phase_coded R20 Phase 2 3002 0.043
phase_coded R60 Phase 2 2814 0.040
phase_coded ₦2400 Phase 2 4308 0.061
phase_coded ₦400 Phase 1 8462 0.120
phase_coded ₦400 Phase 2 9693 0.138
phase_coded ₦800 Phase 1 4465 0.063
phase_coded ₦800 Phase 2 4452 0.063
phase_coded ₵12.5 Phase 1 4027 0.057
phase_coded ₵12.5 Phase 2 1048 0.015
phase_coded ₵36 Phase 2 986 0.014
phase_coded ₵6 Phase 2 2076 0.030
arm_coded 150Ksh Game 995 0.014
arm_coded 150Ksh Long Baseline 488 0.007
arm_coded 150Ksh Original Baseline 1127 0.016
arm_coded 150Ksh SMS 1565 0.022
arm_coded 150Ksh Video 963 0.014
arm_coded 450Ksh Long Baseline 427 0.006
arm_coded 450Ksh Original Baseline 198 0.003
arm_coded 450Ksh SMS 596 0.008
arm_coded 75Ksh Long Baseline 993 0.014
arm_coded 75Ksh Original Baseline 468 0.007
arm_coded 75Ksh SMS 1480 0.021
arm_coded R10 Game 1398 0.020
arm_coded R10 Long Baseline 2313 0.033
arm_coded R10 Original Baseline 2515 0.036
arm_coded R10 SMS 4787 0.068
arm_coded R10 Video 1381 0.020
arm_coded R20 Game 828 0.012
arm_coded R20 Long Baseline 1174 0.017
arm_coded R20 Original Baseline 1156 0.016
arm_coded R20 SMS 2343 0.033
arm_coded R20 Video 829 0.012
arm_coded R60 Long Baseline 933 0.013
arm_coded R60 Original Baseline 514 0.007
arm_coded R60 SMS 1367 0.019
arm_coded ₦2400 Long Baseline 1363 0.019
arm_coded ₦2400 Original Baseline 727 0.010
arm_coded ₦2400 SMS 2218 0.032
arm_coded ₦400 Game 2092 0.030
arm_coded ₦400 Long Baseline 3275 0.047
arm_coded ₦400 Original Baseline 3756 0.053
arm_coded ₦400 SMS 6931 0.099
arm_coded ₦400 Video 2101 0.030
arm_coded ₦800 Game 1124 0.016
arm_coded ₦800 Long Baseline 1723 0.024
arm_coded ₦800 Original Baseline 1536 0.022
arm_coded ₦800 SMS 3404 0.048
arm_coded ₦800 Video 1130 0.016
arm_coded ₵12.5 Game 979 0.014
arm_coded ₵12.5 Long Baseline 403 0.006
arm_coded ₵12.5 Original Baseline 1115 0.016
arm_coded ₵12.5 SMS 1510 0.021
arm_coded ₵12.5 Video 1068 0.015
arm_coded ₵36 Long Baseline 318 0.005
arm_coded ₵36 Original Baseline 173 0.002
arm_coded ₵36 SMS 495 0.007
arm_coded ₵6 Long Baseline 728 0.010
arm_coded ₵6 Original Baseline 322 0.005
arm_coded ₵6 SMS 1026 0.015
manipulative_reliable_order 150Ksh 1 1749 0.025
manipulative_reliable_order 150Ksh 2 1836 0.026
manipulative_reliable_order 150Ksh Missing 1553 0.022
manipulative_reliable_order 450Ksh 1 517 0.007
manipulative_reliable_order 450Ksh 2 460 0.007
manipulative_reliable_order 450Ksh Missing 244 0.003
manipulative_reliable_order 75Ksh 1 1110 0.016
manipulative_reliable_order 75Ksh 2 1090 0.015
manipulative_reliable_order 75Ksh Missing 741 0.011
manipulative_reliable_order R10 1 4279 0.061
manipulative_reliable_order R10 2 4249 0.060
manipulative_reliable_order R10 Missing 3866 0.055
manipulative_reliable_order R20 1 2362 0.034
manipulative_reliable_order R20 2 2441 0.035
manipulative_reliable_order R20 Missing 1527 0.022
manipulative_reliable_order R60 1 1208 0.017
manipulative_reliable_order R60 2 1089 0.015
manipulative_reliable_order R60 Missing 517 0.007
manipulative_reliable_order ₦2400 1 1809 0.026
manipulative_reliable_order ₦2400 2 1609 0.023
manipulative_reliable_order ₦2400 Missing 890 0.013
manipulative_reliable_order ₦400 1 6460 0.092
manipulative_reliable_order ₦400 2 6470 0.092
manipulative_reliable_order ₦400 Missing 5225 0.074
manipulative_reliable_order ₦800 1 3293 0.047
manipulative_reliable_order ₦800 2 3443 0.049
manipulative_reliable_order ₦800 Missing 2181 0.031
manipulative_reliable_order ₵12.5 1 1734 0.025
manipulative_reliable_order ₵12.5 2 1819 0.026
manipulative_reliable_order ₵12.5 Missing 1522 0.022
manipulative_reliable_order ₵36 1 405 0.006
manipulative_reliable_order ₵36 2 396 0.006
manipulative_reliable_order ₵36 Missing 185 0.003
manipulative_reliable_order ₵6 1 812 0.012
manipulative_reliable_order ₵6 2 748 0.011
manipulative_reliable_order ₵6 Missing 516 0.007

User-level variables, by attention check passed

summary_stats_tab_categorical(
  df_wide,  
  variables = c("phase_coded", "arm_coded", "manipulative_reliable_order"),
  group = "attention_check_passed",
  filename = "unordered_cat_phase.csv",
  caption = "Summary Statistics for Unordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Unordered Categorical Variables
Variable Group Category Frequency Proportion
phase_coded 0 Phase 1 15241 0.217
phase_coded 0 Phase 2 4609 0.066
phase_coded 1 Phase 1 443 0.006
phase_coded 1 Phase 2 22503 0.320
phase_coded Missing Phase 1 14043 0.200
phase_coded Missing Phase 2 13516 0.192
arm_coded 0 Game 3124 0.044
arm_coded 0 Long Baseline 1426 0.020
arm_coded 0 Original Baseline 5074 0.072
arm_coded 0 SMS 6479 0.092
arm_coded 0 Video 3747 0.053
arm_coded 1 Game 115 0.002
arm_coded 1 Long Baseline 7736 0.110
arm_coded 1 Original Baseline 3758 0.053
arm_coded 1 SMS 11232 0.160
arm_coded 1 Video 105 0.001
arm_coded Missing Game 4177 0.059
arm_coded Missing Long Baseline 4976 0.071
arm_coded Missing Original Baseline 4775 0.068
arm_coded Missing SMS 10011 0.142
arm_coded Missing Video 3620 0.051
manipulative_reliable_order 0 1 10000 0.142
manipulative_reliable_order 0 2 9850 0.140
manipulative_reliable_order 1 1 11444 0.163
manipulative_reliable_order 1 2 11502 0.163
manipulative_reliable_order Missing 1 4294 0.061
manipulative_reliable_order Missing 2 4298 0.061
manipulative_reliable_order Missing Missing 18967 0.270

Summary Statistics for ordered categorical variables

ordered_cat <- c("manipulative_score", "reliable_score", "share_score")
summary_stats_table_continous(df_long,
  variables = ordered_cat,
  group = ,
  filename = "ordered_cat.csv",
  caption = "Summary Statistics for Ordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Ordered Categorical Variables
Variable Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
manipulative_score 214035 0 2.842 1.666 0.004 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score 214035 0 2.800 1.645 0.004 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
share_score 214035 0 0.605 0.489 0.001 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
summary_stats_tab_categorical(
  df_long,  
  variables = ordered_cat,
  group = ,
  filename = "ordered_cat.csv",
  caption = "Summary Statistics for Ordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Ordered Categorical Variables
Variable Group Category Frequency Proportion
manipulative_score NA 1 72091 0.337
manipulative_score NA 2 37038 0.173
manipulative_score NA 3 20996 0.098
manipulative_score NA 4 20518 0.096
manipulative_score NA 5 63392 0.296
reliable_score NA 1 71200 0.333
reliable_score NA 2 41168 0.192
reliable_score NA 3 21461 0.100
reliable_score NA 4 19751 0.092
reliable_score NA 5 60455 0.282
share_score NA 0 84519 0.395
share_score NA 1 129516 0.605

by phase

ordered_cat <- c("manipulative_score", "reliable_score", "share_score")
summary_stats_table_continous(df_long,
  variables = ordered_cat,
  group = "phase_coded" ,
  filename = "ordered_cat.csv",
  caption = "Summary Statistics for Ordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Ordered Categorical Variables
Variable Group Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
manipulative_score phase_coded : Phase 1 78465 0 2.771 1.661 0.006 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
manipulative_score phase_coded : Phase 2 135570 0 2.882 1.668 0.005 1 5 1 1 1 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score phase_coded : Phase 1 78465 0 2.856 1.647 0.006 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
reliable_score phase_coded : Phase 2 135570 0 2.767 1.643 0.004 1 5 1 1 1 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 0
share_score phase_coded : Phase 1 78465 0 0.647 0.478 0.002 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
share_score phase_coded : Phase 2 135570 0 0.581 0.493 0.001 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
summary_stats_tab_categorical(
  df_long,  
  variables = ordered_cat,
  group = "phase_coded",
  filename = "ordered_cat.csv",
  caption = "Summary Statistics for Ordered Categorical Variables",
  print_html = TRUE
  )
Summary Statistics for Ordered Categorical Variables
Variable Group Category Frequency Proportion
manipulative_score Phase 1 1 27679 0.129
manipulative_score Phase 1 2 14084 0.066
manipulative_score Phase 1 3 7369 0.034
manipulative_score Phase 1 4 7179 0.034
manipulative_score Phase 1 5 22154 0.104
manipulative_score Phase 2 1 44412 0.207
manipulative_score Phase 2 2 22954 0.107
manipulative_score Phase 2 3 13627 0.064
manipulative_score Phase 2 4 13339 0.062
manipulative_score Phase 2 5 41238 0.193
reliable_score Phase 1 1 24674 0.115
reliable_score Phase 1 2 15607 0.073
reliable_score Phase 1 3 7708 0.036
reliable_score Phase 1 4 7274 0.034
reliable_score Phase 1 5 23202 0.108
reliable_score Phase 2 1 46526 0.217
reliable_score Phase 2 2 25561 0.119
reliable_score Phase 2 3 13753 0.064
reliable_score Phase 2 4 12477 0.058
reliable_score Phase 2 5 37253 0.174
share_score Phase 1 0 27680 0.129
share_score Phase 1 1 50785 0.237
share_score Phase 2 0 56839 0.266
share_score Phase 2 1 78731 0.368

Analysis of time variables

Main survey

  • In the main survey, there are three time duration variables we recorded for each participants:
  1. intervention_duration is the time duration between the start and the end of the intervention in minutes
  2. misinfo_quiz_duration is the time duration between the start and the end of the misinformation quiz in minutes
  3. total_duration is the between the start of the chatbot and the end of the misinformation quiz in minutes
  • We will now look at the distribution of these time variables by phase, country, payment amount, treatment arm, quiz completion status and passing attention check.

  • For the purpose of representation, we showed the distribution of time duration from the 1st percentile to the 85th percentile. The complete summary statistics for the time duration varaibles are reported above.

By user

Summary statistics

  • We observed that the distribution of time duration is highly right skewed. The following table shows the quantiles for each of the time duration variables.
summary_stats_table_continous(df_wide,
  variables = c("intervention_duration", "misinfo_quiz_duration", "total_duration"),
  filename = "sum_time_duration_consent.csv",
  caption = "Summary Statistics for Time Duration Variables",
  print_html = TRUE
  )
Summary Statistics for Time Duration Variables
Variable Total_Observations Number_Missing Mean SD SE Min Max Decile_10 Decile_20 Decile_30 Decile_40 Decile_50 Decile_60 Decile_70 Decile_80 Decile_90 Decile_91 Decile_92 Decile_93 Decile_94 Decile_95 Decile_96 Decile_97 Decile_98 Decile_99 Decile_100 Proportion_Missing
intervention_duration 52068 18287 278.194 3178.435 13.929 3.967 128975.6 9.250 11.700 13.033 14.300 15.733 17.683 20.767 26.90 60.638 76.232 102.821 144.437 222.816 349.768 550.801 870.765 1458.586 3847.463 128975.6 0.351
misinfo_quiz_duration 43973 26382 299.701 4124.102 19.667 1.200 133550.8 3.817 4.517 5.117 5.717 6.400 7.250 8.400 10.40 17.367 19.709 23.387 29.049 40.917 73.880 169.487 401.799 844.704 2667.263 133550.8 0.600
total_duration 43978 26377 636.825 5498.200 26.218 6.850 135561.0 16.883 19.367 21.467 23.700 26.383 30.133 36.183 51.45 239.367 317.518 426.377 558.294 732.024 990.251 1361.682 2032.999 3890.957 12080.045 135561.0 0.600
Winsorizing
  • For analysis purposes, we will winsorize the time duration variables at the 1st and 90th percentile.
df_winsorized <- df_wide %>% select(analytic_id, arm_coded, intervention_duration, misinfo_quiz_duration, total_duration)

df_winsorized$intervention_duration <- Winsorize(df_winsorized$intervention_duration, probs = c(0.01, 0.90), na.rm = TRUE)

df_winsorized$misinfo_quiz_duration <- Winsorize(df_winsorized$misinfo_quiz_duration, probs = c(0.01, 0.90), na.rm = TRUE)

df_winsorized$total_duration <- Winsorize(df_winsorized$total_duration, probs = c(0.01, 0.90), na.rm = TRUE)


# generating a csv

write.csv(df_winsorized, "./data/chatfuel_summary_statistics/winsorized_time_duration.csv")

Intervention duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "intervention_duration", 
                    group_var = NULL , 
                    x_min = quantile(df_wide$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes)",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "intervention_duration")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = NULL , 
                    x_min = quantile(df_wide$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes)",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration")

Total duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "total_duration", 
                    group_var = NULL , 
                    x_min = quantile(df_wide$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes)",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "total_duration")

By phase

Intervention duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "intervention_duration", 
                    group_var = "phase_coded" , 
                    x_min = quantile(df_wide$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes) by Phase",
                    x_label = "Minutes", 
                    y_label = "Density", 
                    file_basename = "intervention_duration_phase")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = "phase_coded" , 
                    x_min = quantile(df_wide$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Phase",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_phase")

Total duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "total_duration", 
                    group_var = "phase_coded" , 
                    x_min = quantile(df_wide$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes) by Phase",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "total_duration_phase")

By country

Intervention duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "intervention_duration", 
                    group_var = "country_coded" , 
                    x_min = quantile(df_wide$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes) by Country",
                    x_label = "Minutes", 
                    y_label = "Density", 
                    file_basename = "intervention_duration_country")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = "country_coded" , 
                    x_min = quantile(df_wide$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Country",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_country")

Total duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "total_duration", 
                    group_var = "country_coded" , 
                    x_min = quantile(df_wide$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes) by Country",
                    x_label = "Minutes", 
                    y_label = "Density", 
                    file_basename = "total_duration_country")

By payment amount

Intervention duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "intervention_duration", 
                    group_var = "payment_amount_coded" , 
                    x_min = quantile(df_wide$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes) by Payment Amount",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "intervention_duration_payment")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = "payment_amount_coded" , 
                    x_min = quantile(df_wide$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Payment Amount",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_payment")

Total duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "total_duration", 
                    group_var = "payment_amount_coded" , 
                    x_min = quantile(df_wide$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes) by Payment Amount",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "total_duration_payment")

By treatment arm

Intervention duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "intervention_duration", 
                    group_var = "arm_coded" , 
                    x_min = quantile(df_wide$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes) by Arm",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "intervention_duration_arm")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = "arm_coded" , 
                    x_min = quantile(df_wide$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Arm",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_arm")

Total duration in minutes

create_density_plot(data =df_wide, 
                    x_var = "total_duration", 
                    group_var = "arm_coded" , 
                    x_min = quantile(df_wide$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes) by Arm",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "total_duration_arm"
                    )

By attention check passed

Intervention duration in minutes

df_wide_attention_check <- df_wide %>% filter(attention_check_passed == 1| attention_check_passed == 0)

create_density_plot(data =df_wide_attention_check, 
                    x_var = "intervention_duration", 
                    group_var = as.factor(df_wide_attention_check$attention_check_passed) , 
                    x_min = quantile(df_wide_attention_check$intervention_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_attention_check$intervention_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Intervention (minutes) by Attention Check",
                    x_label = "Minutes", 
                    y_label = "Density", 
                    file_basename = "intervention_duration_attention_check")

Misinformation quiz duration in minutes

create_density_plot(data =df_wide_attention_check, 
                    x_var = "misinfo_quiz_duration", 
                    group_var = as.factor(df_wide_attention_check$attention_check_passed) , 
                    x_min = quantile(df_wide_attention_check$misinfo_quiz_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_attention_check$misinfo_quiz_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Attention Check",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_attention_check")

Total duration in minutes

create_density_plot(data =df_wide_attention_check, 
                    x_var = "total_duration", 
                    group_var = as.factor(df_wide_attention_check$attention_check_passed) , 
                    x_min = quantile(df_wide_attention_check$total_duration, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_attention_check$total_duration, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Main Survey (minutes) by Attention Check",
                    x_label = "Minutes", 
                    y_label = "Density",
                    file_basename = "total_duration_attention_check")

Follow up

Time since main survey

  • We have three main variables that measure the time duration between the follow-up survey and the main survey, which are defined as follows:
  1. Variable time_since_completed_intervention indicates the time duration since the participant completed the intervention to starting the follow up in days.
  2. Variable time_since_completed_quiz indicates the time duration since the participant completed the intervention to starting the follow up survey in days.

Distribution of time duration between started followup and intervention completion

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="time_since_completed_intervention", 
                 group_var = "phase_coded",
                 bin_width = 1,
                 title = "Histogram of Time Since Completed Intervention by Phase in days",
                 x_label = "Time Since Completed Quiz (days)", 
                 y_label = "Frequency",
                 file_basename = "time_since_completed_intervention_phase")

Distribution of time duration between started followup and quiz completion

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="time_since_completed_quiz", 
                 group_var = "phase_coded",
                 bin_width = 1,
                 title = "Histogram of Time Since Completed Quiz by Phase in days",
                 x_label = "Time Since Completed Quiz (days)", 
                 y_label = "Frequency",
                 file_basename = "time_since_completed_quiz_phase")

Time to complete follow-up misinformation quiz

create_density_plot(data =df_wide_followup, 
                    x_var = "duration_complete_quiz_followup", 
                    group_var = NULL , 
                    x_min = quantile(df_wide_followup$duration_complete_quiz_followup, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_followup$duration_complete_quiz_followup, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes)",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_followup")

By Phase

create_density_plot(data =df_wide_followup, 
                    x_var = "duration_complete_quiz_followup", 
                    group_var = "phase_coded" , 
                    x_min = quantile(df_wide_followup$duration_complete_quiz_followup, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_followup$duration_complete_quiz_followup, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Phase",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_followup_phase")

By Arm

create_density_plot(data =df_wide_followup, 
                    x_var = "duration_complete_quiz_followup", 
                    group_var = "arm_coded" , 
                    x_min = quantile(df_wide_followup$duration_complete_quiz_followup, 0.01, na.rm = TRUE),
                    x_max = quantile(df_wide_followup$duration_complete_quiz_followup, 0.85, na.rm = TRUE),
                    title = "Density Plot of Time to Complete Misinformation Quiz (minutes) by Phase",
                    x_label = "Minutes)", 
                    y_label = "Density",
                    file_basename = "quiz_duration_followup_arm")

Summary of Survey Outcome

  • mean_share_misinfo: mean (across posts) intention to share misinformation posts for a given user; range [0, 1]
  • mean_reliable_misinfo: mean (across posts) reliable score for misinformation posts for a given user; range [1, 5]
  • mean_manipulative_misinfo: mean (across posts) manipulative score for misinformation posts for a given user; range [1, 5]
  • mean_share_nonmisinfo: mean (across posts) intention to share non-misinformation post for a given user; range [0, 1]
  • mean_reliable_nonmisinfo: mean (across posts) reliable score for non-misinformation posts for a given user; range [1, 5]
  • mean_manipulative_nonmisinfo: mean (across posts) manipulative score for non-misinformation posts for a given user; range [1, 5]
  • sharing_discernment: difference in mean share score between non-misinformation and misinformation posts for a given user; range [-1, 1]
  • reliability_discernment: difference in mean reliable score between non-misinformation and misinformation posts for a given user; range [-4, 4]
  • manipulation_discernment: difference in mean manipulative score between misinformation and non-misinformation posts for a given user; range [-4, 4]

Note that the discernment scores are constructed in such a way that a positive value indicates better discernment. For example, positive value for reliability discernment indicates that user scored non-misinformation posts as more reliable than misinformation posts. On the other hand, positive monipulative discernment indicates that user scored non-misinformation posts as less manipulative than misinformation posts.

  • This section provides summary statistics and visualizations for the survey outcomes of both the main survey and follow-up survey.

Outcomes by treatment-phase

Main Survey

outcomes <- c("mean_share_misinfo", "mean_reliable_misinfo", "mean_manipulative_misinfo", "mean_share_nonmisinfo", "mean_reliable_nonmisinfo", "mean_manipulative_nonmisinfo", "sharing_discernment", "reliability_discernment", "manipulation_discernment")


summary_stats_table_continous_outcomes(df_wide, 
  variables = outcomes,
  group = "phase_arm",
  filename = "summary_statistics_for_main_survey_outcomes_phase_arm.csv",
  caption = "Summary Statistics for Main Survey Outcomes",
  print_html = TRUE                              
                
)
Summary Statistics for Main Survey Outcomes
Variable Group Total_Observations Number_Missing Mean SD SE Proportion_Missing
mean_share_misinfo phase_arm : Phase 1 - Game 3242 4174 0.730 0.316 0.006 1.287
mean_share_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 0.618 0.367 0.005 0.612
mean_share_misinfo phase_arm : Phase 1 - SMS 4026 3444 0.352 0.346 0.005 0.855
mean_share_misinfo phase_arm : Phase 1 - Video 3854 3618 0.651 0.366 0.006 0.939
mean_share_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 0.627 0.371 0.004 0.543
mean_share_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 0.624 0.367 0.006 0.463
mean_share_misinfo phase_arm : Phase 2 - SMS 13688 6564 0.374 0.352 0.003 0.480
mean_reliable_misinfo phase_arm : Phase 1 - Game 3242 4174 2.908 1.257 0.022 1.287
mean_reliable_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.837 1.284 0.019 0.612
mean_reliable_misinfo phase_arm : Phase 1 - SMS 4026 3444 2.188 1.118 0.018 0.855
mean_reliable_misinfo phase_arm : Phase 1 - Video 3854 3618 2.794 1.279 0.021 0.939
mean_reliable_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 2.865 1.265 0.013 0.543
mean_reliable_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.799 1.261 0.019 0.463
mean_reliable_misinfo phase_arm : Phase 2 - SMS 13688 6564 2.258 1.116 0.010 0.480
mean_manipulative_misinfo phase_arm : Phase 1 - Game 3242 4174 2.788 1.264 0.022 1.287
mean_manipulative_misinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.942 1.290 0.019 0.612
mean_manipulative_misinfo phase_arm : Phase 1 - SMS 4026 3444 3.154 1.313 0.021 0.855
mean_manipulative_misinfo phase_arm : Phase 1 - Video 3854 3618 2.861 1.296 0.021 0.939
mean_manipulative_misinfo phase_arm : Phase 2 - Long Baseline 9163 4975 3.021 1.282 0.013 0.543
mean_manipulative_misinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.974 1.292 0.020 0.463
mean_manipulative_misinfo phase_arm : Phase 2 - SMS 13688 6564 3.176 1.276 0.011 0.480
mean_share_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 0.797 0.309 0.005 1.287
mean_share_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 0.762 0.338 0.005 0.612
mean_share_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 0.634 0.375 0.006 0.855
mean_share_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 0.804 0.314 0.005 0.939
mean_share_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 0.769 0.333 0.003 0.543
mean_share_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 0.756 0.342 0.005 0.463
mean_share_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 0.644 0.371 0.003 0.480
mean_reliable_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 3.110 1.334 0.023 1.287
mean_reliable_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 3.246 1.354 0.020 0.612
mean_reliable_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 2.914 1.324 0.021 0.855
mean_reliable_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 3.230 1.357 0.022 0.939
mean_reliable_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 3.285 1.320 0.014 0.543
mean_reliable_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 3.190 1.358 0.021 0.463
mean_reliable_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 2.938 1.297 0.011 0.480
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Game 3242 4174 2.498 1.320 0.023 1.287
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Original Baseline 4571 2798 2.589 1.380 0.020 0.612
mean_manipulative_nonmisinfo phase_arm : Phase 1 - SMS 4026 3444 2.497 1.326 0.021 0.855
mean_manipulative_nonmisinfo phase_arm : Phase 1 - Video 3854 3618 2.445 1.340 0.022 0.939
mean_manipulative_nonmisinfo phase_arm : Phase 2 - Long Baseline 9163 4975 2.620 1.358 0.014 0.543
mean_manipulative_nonmisinfo phase_arm : Phase 2 - Original Baseline 4263 1975 2.556 1.343 0.021 0.463
mean_manipulative_nonmisinfo phase_arm : Phase 2 - SMS 13688 6564 2.537 1.298 0.011 0.480
sharing_discernment phase_arm : Phase 1 - Game 3242 4174 0.067 0.366 0.006 1.287
sharing_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.143 0.391 0.006 0.612
sharing_discernment phase_arm : Phase 1 - SMS 4026 3444 0.283 0.422 0.007 0.855
sharing_discernment phase_arm : Phase 1 - Video 3854 3618 0.153 0.374 0.006 0.939
sharing_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.142 0.382 0.004 0.543
sharing_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.133 0.380 0.006 0.463
sharing_discernment phase_arm : Phase 2 - SMS 13688 6564 0.270 0.423 0.004 0.480
reliability_discernment phase_arm : Phase 1 - Game 3242 4174 0.202 1.178 0.021 1.287
reliability_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.409 1.312 0.019 0.612
reliability_discernment phase_arm : Phase 1 - SMS 4026 3444 0.726 1.386 0.022 0.855
reliability_discernment phase_arm : Phase 1 - Video 3854 3618 0.435 1.249 0.020 0.939
reliability_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.420 1.325 0.014 0.543
reliability_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.391 1.292 0.020 0.463
reliability_discernment phase_arm : Phase 2 - SMS 13688 6564 0.680 1.364 0.012 0.480
manipulation_discernment phase_arm : Phase 1 - Game 3242 4174 0.290 1.238 0.022 1.287
manipulation_discernment phase_arm : Phase 1 - Original Baseline 4571 2798 0.353 1.362 0.020 0.612
manipulation_discernment phase_arm : Phase 1 - SMS 4026 3444 0.657 1.471 0.023 0.855
manipulation_discernment phase_arm : Phase 1 - Video 3854 3618 0.416 1.316 0.021 0.939
manipulation_discernment phase_arm : Phase 2 - Long Baseline 9163 4975 0.401 1.351 0.014 0.543
manipulation_discernment phase_arm : Phase 2 - Original Baseline 4263 1975 0.418 1.338 0.020 0.463
manipulation_discernment phase_arm : Phase 2 - SMS 13688 6564 0.639 1.445 0.012 0.480

Followup

df_wide_followup = df_wide_followup |> mutate(phase_arm = paste(phase_coded, arm_coded, sep = " - "))

outcomes_followup <- c("mean_share_misinfo_followup", "mean_reliable_misinfo_followup", "mean_manipulative_misinfo_followup", "mean_share_nonmisinfo_followup", "mean_reliable_nonmisinfo_followup", "mean_manipulative_nonmisinfo_followup", "sharing_discernment_followup", "reliability_discernment_followup", "manipulation_discernment_followup")


summary_stats_table_continous_outcomes(df_wide_followup, 
  variables = outcomes_followup,
  group = "phase_arm",
  filename = "summary_statistics_for_followup_outcomes_phase_arm.csv",
  caption = "Summary Statistics for Followup Outcomes",
  print_html = TRUE                              
                
)
Summary Statistics for Followup Outcomes
Variable Group Total_Observations Number_Missing Mean SD SE Proportion_Missing
mean_share_misinfo_followup phase_arm : Phase 1 - Game 2024 160 0.650 0.361 0.008 0.079
mean_share_misinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 0.585 0.380 0.007 0.095
mean_share_misinfo_followup phase_arm : Phase 1 - SMS 2447 229 0.423 0.369 0.007 0.094
mean_share_misinfo_followup phase_arm : Phase 1 - Video 2334 184 0.610 0.383 0.008 0.079
mean_share_misinfo_followup phase_arm : Phase 2 - Long Baseline 3061 192 0.570 0.389 0.007 0.063
mean_share_misinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 0.572 0.393 0.010 0.061
mean_share_misinfo_followup phase_arm : Phase 2 - SMS 4459 301 0.414 0.372 0.006 0.068
mean_reliable_misinfo_followup phase_arm : Phase 1 - Game 2024 160 2.776 1.207 0.027 0.079
mean_reliable_misinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 2.709 1.253 0.024 0.095
mean_reliable_misinfo_followup phase_arm : Phase 1 - SMS 2447 229 2.299 1.126 0.023 0.094
mean_reliable_misinfo_followup phase_arm : Phase 1 - Video 2334 184 2.707 1.253 0.026 0.079
mean_reliable_misinfo_followup phase_arm : Phase 2 - Long Baseline 3061 192 2.741 1.228 0.022 0.063
mean_reliable_misinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 2.722 1.253 0.033 0.061
mean_reliable_misinfo_followup phase_arm : Phase 2 - SMS 4459 301 2.368 1.152 0.017 0.068
mean_manipulative_misinfo_followup phase_arm : Phase 1 - Game 2024 160 2.798 1.241 0.028 0.079
mean_manipulative_misinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 2.886 1.260 0.024 0.095
mean_manipulative_misinfo_followup phase_arm : Phase 1 - SMS 2447 229 3.033 1.265 0.026 0.094
mean_manipulative_misinfo_followup phase_arm : Phase 1 - Video 2334 184 2.858 1.291 0.027 0.079
mean_manipulative_misinfo_followup phase_arm : Phase 2 - Long Baseline 3060 193 3.086 1.255 0.023 0.063
mean_manipulative_misinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 3.028 1.268 0.034 0.061
mean_manipulative_misinfo_followup phase_arm : Phase 2 - SMS 4459 301 3.173 1.252 0.019 0.068
mean_share_nonmisinfo_followup phase_arm : Phase 1 - Game 2024 160 0.776 0.331 0.007 0.079
mean_share_nonmisinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 0.754 0.349 0.007 0.095
mean_share_nonmisinfo_followup phase_arm : Phase 1 - SMS 2447 229 0.664 0.377 0.008 0.094
mean_share_nonmisinfo_followup phase_arm : Phase 1 - Video 2334 184 0.768 0.346 0.007 0.079
mean_share_nonmisinfo_followup phase_arm : Phase 2 - Long Baseline 3061 192 0.747 0.353 0.006 0.063
mean_share_nonmisinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 0.747 0.348 0.009 0.061
mean_share_nonmisinfo_followup phase_arm : Phase 2 - SMS 4459 301 0.681 0.369 0.006 0.068
mean_reliable_nonmisinfo_followup phase_arm : Phase 1 - Game 2024 160 3.076 1.266 0.028 0.079
mean_reliable_nonmisinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 3.132 1.326 0.025 0.095
mean_reliable_nonmisinfo_followup phase_arm : Phase 1 - SMS 2447 229 2.937 1.316 0.027 0.094
mean_reliable_nonmisinfo_followup phase_arm : Phase 1 - Video 2334 184 3.092 1.332 0.028 0.079
mean_reliable_nonmisinfo_followup phase_arm : Phase 2 - Long Baseline 3061 192 3.233 1.267 0.023 0.063
mean_reliable_nonmisinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 3.225 1.260 0.034 0.061
mean_reliable_nonmisinfo_followup phase_arm : Phase 2 - SMS 4459 301 3.040 1.282 0.019 0.068
mean_manipulative_nonmisinfo_followup phase_arm : Phase 1 - Game 2023 161 2.456 1.261 0.028 0.080
mean_manipulative_nonmisinfo_followup phase_arm : Phase 1 - Original Baseline 2798 267 2.482 1.316 0.025 0.095
mean_manipulative_nonmisinfo_followup phase_arm : Phase 1 - SMS 2446 230 2.420 1.275 0.026 0.094
mean_manipulative_nonmisinfo_followup phase_arm : Phase 1 - Video 2334 184 2.442 1.305 0.027 0.079
mean_manipulative_nonmisinfo_followup phase_arm : Phase 2 - Long Baseline 3061 192 2.593 1.324 0.024 0.063
mean_manipulative_nonmisinfo_followup phase_arm : Phase 2 - Original Baseline 1408 86 2.541 1.310 0.035 0.061
mean_manipulative_nonmisinfo_followup phase_arm : Phase 2 - SMS 4458 302 2.537 1.305 0.020 0.068
sharing_discernment_followup phase_arm : Phase 1 - Game 2024 160 0.126 0.381 0.008 0.079
sharing_discernment_followup phase_arm : Phase 1 - Original Baseline 2798 267 0.169 0.378 0.007 0.095
sharing_discernment_followup phase_arm : Phase 1 - SMS 2447 229 0.241 0.407 0.008 0.094
sharing_discernment_followup phase_arm : Phase 1 - Video 2334 184 0.158 0.368 0.008 0.079
sharing_discernment_followup phase_arm : Phase 2 - Long Baseline 3061 192 0.178 0.394 0.007 0.063
sharing_discernment_followup phase_arm : Phase 2 - Original Baseline 1408 86 0.175 0.383 0.010 0.061
sharing_discernment_followup phase_arm : Phase 2 - SMS 4459 301 0.268 0.423 0.006 0.068
reliability_discernment_followup phase_arm : Phase 1 - Game 2024 160 0.300 1.159 0.026 0.079
reliability_discernment_followup phase_arm : Phase 1 - Original Baseline 2798 267 0.423 1.225 0.023 0.095
reliability_discernment_followup phase_arm : Phase 1 - SMS 2447 229 0.638 1.262 0.026 0.094
reliability_discernment_followup phase_arm : Phase 1 - Video 2334 184 0.385 1.175 0.024 0.079
reliability_discernment_followup phase_arm : Phase 2 - Long Baseline 3061 192 0.492 1.249 0.023 0.063
reliability_discernment_followup phase_arm : Phase 2 - Original Baseline 1408 86 0.504 1.201 0.032 0.061
reliability_discernment_followup phase_arm : Phase 2 - SMS 4459 301 0.672 1.306 0.020 0.068
manipulation_discernment_followup phase_arm : Phase 1 - Game 2023 161 0.342 1.191 0.026 0.080
manipulation_discernment_followup phase_arm : Phase 1 - Original Baseline 2798 267 0.405 1.252 0.024 0.095
manipulation_discernment_followup phase_arm : Phase 1 - SMS 2446 230 0.613 1.321 0.027 0.094
manipulation_discernment_followup phase_arm : Phase 1 - Video 2334 184 0.416 1.206 0.025 0.079
manipulation_discernment_followup phase_arm : Phase 2 - Long Baseline 3060 193 0.493 1.315 0.024 0.063
manipulation_discernment_followup phase_arm : Phase 2 - Original Baseline 1408 86 0.487 1.286 0.034 0.061
manipulation_discernment_followup phase_arm : Phase 2 - SMS 4458 302 0.637 1.377 0.021 0.068

By Post Order

Main Survey

outcomes_post <- c("share_score", "reliable_score", "manipulative_score")


summary_stats_table_continous_outcomes(df_long, 
  variables = outcomes_post,
  group = "post_number",
  filename = "summary_statistics_post_number.csv",
  caption = "Summary Statistics for Score by Post Order Main Survey",
  print_html = TRUE                              
                
)
Summary Statistics for Score by Post Order Main Survey
Variable Group Total_Observations Number_Missing Mean SD SE Proportion_Missing
share_score post_number : 1 35619 0 0.582 0.493 0.003 0
share_score post_number : 2 35697 0 0.598 0.490 0.003 0
share_score post_number : 3 35712 0 0.610 0.488 0.003 0
share_score post_number : 4 35605 0 0.609 0.488 0.003 0
share_score post_number : 5 35641 0 0.614 0.487 0.003 0
share_score post_number : 6 35761 0 0.617 0.486 0.003 0
reliable_score post_number : 1 35619 0 2.657 1.641 0.009 0
reliable_score post_number : 2 35697 0 2.782 1.639 0.009 0
reliable_score post_number : 3 35712 0 2.829 1.643 0.009 0
reliable_score post_number : 4 35605 0 2.851 1.648 0.009 0
reliable_score post_number : 5 35641 0 2.838 1.643 0.009 0
reliable_score post_number : 6 35761 0 2.840 1.645 0.009 0
manipulative_score post_number : 1 35619 0 3.016 1.671 0.009 0
manipulative_score post_number : 2 35697 0 2.856 1.667 0.009 0
manipulative_score post_number : 3 35712 0 2.797 1.654 0.009 0
manipulative_score post_number : 4 35605 0 2.805 1.665 0.009 0
manipulative_score post_number : 5 35641 0 2.803 1.665 0.009 0
manipulative_score post_number : 6 35761 0 2.773 1.663 0.009 0

Followup

outcomes_post_followup <- c("share_score_followup", "reliable_score_followup", "manipulative_score_followup")


summary_stats_table_continous_outcomes(df_long_followup, 
  variables = outcomes_post_followup,
  group = "post_number_followup",
  filename = "summary_statistics_post_number_followup.csv",
  caption = "Summary Statistics for Score by Post Order Followup",
  print_html = TRUE                              
                
)
Summary Statistics for Score by Post Order Followup
Variable Group Total_Observations Number_Missing Mean SD SE Proportion_Missing
share_score_followup post_number_followup : 1 15429 0 0.607 0.488 0.004 0
share_score_followup post_number_followup : 2 15466 0 0.599 0.490 0.004 0
share_score_followup post_number_followup : 3 15407 0 0.609 0.488 0.004 0
share_score_followup post_number_followup : 4 15463 0 0.614 0.487 0.004 0
share_score_followup post_number_followup : 5 15427 0 0.618 0.486 0.004 0
share_score_followup post_number_followup : 6 15463 0 0.603 0.489 0.004 0
reliable_score_followup post_number_followup : 1 15429 0 2.701 1.566 0.013 0
reliable_score_followup post_number_followup : 2 15466 0 2.750 1.574 0.013 0
reliable_score_followup post_number_followup : 3 15407 0 2.811 1.578 0.013 0
reliable_score_followup post_number_followup : 4 15463 0 2.832 1.584 0.013 0
reliable_score_followup post_number_followup : 5 15427 0 2.832 1.581 0.013 0
reliable_score_followup post_number_followup : 6 15463 0 2.817 1.580 0.013 0
manipulative_score_followup post_number_followup : 1 15427 2 2.869 1.597 0.013 0
manipulative_score_followup post_number_followup : 2 15466 0 2.814 1.598 0.013 0
manipulative_score_followup post_number_followup : 3 15407 0 2.777 1.602 0.013 0
manipulative_score_followup post_number_followup : 4 15462 1 2.780 1.604 0.013 0
manipulative_score_followup post_number_followup : 5 15426 1 2.785 1.598 0.013 0
manipulative_score_followup post_number_followup : 6 15463 0 2.798 1.608 0.013 0

Correlation Matrix

Main Survey

df_correlation <- df_wide %>% 
  select(mean_share_misinfo, mean_reliable_misinfo, mean_manipulative_misinfo, mean_share_nonmisinfo, mean_reliable_nonmisinfo, mean_manipulative_nonmisinfo, sharing_discernment, reliability_discernment, manipulation_discernment, country_coded)

df_correlation <- dummy_cols(df_correlation, select_columns = "country_coded") %>% select(-country_coded)

correlation_matrix <- cor(df_correlation, use = "pairwise.complete.obs")

col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
colors <- col(200)
annotation_colors <- c("white", "black")

corrplot(correlation_matrix,
         method = "color", 
         col = colors,
         type = "upper",
         addCoef.col = "black",
         tl.col = "black",
         tl.srt = 90,
         diag = FALSE,
         bg = "white",
         addrect = 2,
         rect.col = "gray",
         cl.pos = "n",
         number.cex  = 0.4,  # Adjust the font size for correlation values
         tl.cex = 0.5,      # Adjust the font size for variable names
         addCoef.asPercent = TRUE,
         p.mat = NULL,
         sig.level = 0.01,
         insig = "blank",
         pch.col = "black",
         pch.cex = 0.8,
         col.cor = "black",
         mar = c(0,0,1,0))

Followup

df_correlation_followup <- df_wide_followup %>% 
  select(mean_share_misinfo_followup, mean_reliable_misinfo_followup, mean_manipulative_misinfo_followup, mean_share_nonmisinfo_followup, mean_reliable_nonmisinfo_followup, mean_manipulative_nonmisinfo_followup, sharing_discernment_followup, reliability_discernment_followup, manipulation_discernment_followup)

correlation_matrix_followup <- cor(df_correlation_followup, use = "pairwise.complete.obs")

col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
colors <- col(200)
annotation_colors <- c("white", "black")

corrplot(correlation_matrix_followup,
         method = "color", 
         col = colors,
         type = "upper",
         addCoef.col = "black",
         tl.col = "black",
         tl.srt = 90,
         diag = FALSE,
         bg = "white",
         addrect = 2,
         rect.col = "gray",
         cl.pos = "n",
         number.cex  = 0.4,  # Adjust the font size for correlation values
         tl.cex = 0.5,      # Adjust the font size for variable names
         addCoef.asPercent = TRUE,
         p.mat = NULL,
         sig.level = 0.01,
         insig = "blank",
         pch.col = "black",
         pch.cex = 0.8,
         col.cor = "black",
         mar = c(0,0,1,0))

Overtime

Main Survey

We started the experiment on November 16th, 2023 and ended the experiment on December 31st, 2023. The graphs below show the average score outcomes in days since the starting of the experiment.

first_start_time_chat <- min(df_wide$MisinfoChat_start_time)
df_wide <- df_wide |> 
  mutate(time_since_first_start = floor(as.numeric(difftime(MisinfoChat_start_time, first_start_time_chat, units = "days")))) # round to nearest day 

df_time_graph <- df_wide %>% 
  select(time_since_first_start, mean_share_misinfo, mean_reliable_misinfo, mean_manipulative_misinfo, mean_share_nonmisinfo, mean_reliable_nonmisinfo, mean_manipulative_nonmisinfo, sharing_discernment, reliability_discernment, manipulation_discernment, attention_check_passed) %>% 
  group_by(time_since_first_start) %>% 
  summarise_all(mean, na.rm = TRUE)
main_out_since_start <- ggplot(data=df_time_graph, aes(x=time_since_first_start)) +
  geom_line(aes(y=mean_share_misinfo, color = "Mean Share Misinfo"), size = 1) +
  geom_line(aes(y=mean_reliable_misinfo, color = "Mean Reliable Misinfo"), size = 1) +
  geom_line(aes(y=mean_manipulative_misinfo, color = "Mean Manipulative Misinfo"), size = 1) +
  geom_line(aes(y=mean_share_nonmisinfo, color = "Mean Share Nonmisinfo"), size = 1) +
  geom_line(aes(y=mean_reliable_nonmisinfo, color = "Mean Reliable Nonmisinfo"), size = 1) +
  geom_line(aes(y=mean_manipulative_nonmisinfo, color = "Mean Manipulative Nonmisinfo"), size = 1) +
  geom_line(aes(y=sharing_discernment, color = "Sharing Discernment"), size = 1) +
  geom_line(aes(y=reliability_discernment, color = "Reliability Discernment"), size = 1) +
  geom_line(aes(y=manipulation_discernment, color = "Manipulation Discernment"), size = 1) +
  labs(
    title = "Main Survey Outcomes Since Beginning of the Experiment",
    x = "Time Since First Start (days)",
    y = "Mean Score",
    color = "Legend"
  ) +
  theme_minimal()+
  scale_x_continuous(expand = expand_scale(add = c(0.5, 0.5))) +
    guides(fill = guide_legend(title = NULL))

print(main_out_since_start)

ggsave(paste0("./data/chatfuel_summary_statistics/", "main_outcomes_since_start", ".jpg"), main_out_since_start, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "main_outcomes_since_start", ".pdf"), main_out_since_start, device = "pdf", width = 10, height = 8)

Distribution of outcomes since start

reliability_score <- ggplot(data = df_time_graph, aes(x = time_since_first_start)) +
  geom_smooth(aes(y = reliability_discernment, color = "Reliability Discernment"), size = 1) +
  geom_smooth(aes(y = mean_reliable_misinfo, color = "Mean Reliability Misinfo"), size = 1) +
  geom_smooth(aes(y = mean_reliable_nonmisinfo, color = "Mean Reliability Nonmisinfo"), size = 1) +
  scale_color_brewer(palette = "Dark2") +
  labs(
    title = "Reliability Score Since Beginning of the Experiment",
    x = "Time Since First Start (days)",
    y = "Reliability Score",
    color = "Legend"
  ) +
  theme_minimal()+
  scale_x_continuous(expand = expand_scale(add = c(0.5, 0.5))) +
    guides(fill = guide_legend(title = NULL))

print(reliability_score) 

ggsave(paste0("./data/chatfuel_summary_statistics/", "reliability_score_since_start", ".jpg"), reliability_score, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "reliability_score_since_start", ".pdf"), reliability_score, device = "pdf", width = 10, height = 8)



manipulative_score <- ggplot(data = df_time_graph, aes(x = time_since_first_start)) +
  geom_smooth(aes(y = manipulation_discernment, color = "Manipulation Discernment"), size = 1) +
  geom_smooth(aes(y = mean_manipulative_misinfo, color = "Mean Manipulative Misinfo"), size = 1) +
  geom_smooth(aes(y = mean_manipulative_nonmisinfo, color = "Mean Manipulative Nonmisinfo"), size = 1) +
  scale_color_brewer(palette = "Dark2") +
  labs(
    title = "Manipulative Score Since Beginning of the Experiment",
    x = "Time Since First Start (days)",
    y = "Manipulative Score",
    color = "Legend"
  ) +
  theme_minimal()+
  scale_x_continuous(expand = expand_scale(add = c(0.5, 0.5))) +
    guides(fill = guide_legend(title = NULL))

print(manipulative_score) 

ggsave(paste0("./data/chatfuel_summary_statistics/", "manipulative_score_since_start", ".jpg"), manipulative_score, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "manipulative_score_since_start", ".pdf"), manipulative_score, device = "pdf", width = 10, height = 8)


share_score <- ggplot(data = df_time_graph, aes(x = time_since_first_start)) +
  geom_smooth(aes(y = sharing_discernment, color = "Sharing Discernment"), size = 1) +
  geom_smooth(aes(y = mean_share_misinfo, color = "Mean Share Misinfo"), size = 1) +
  geom_smooth(aes(y = mean_share_nonmisinfo, color = "Mean Share Nonmisinfo"), size = 1) +
  scale_color_brewer(palette = "Dark2") +
  labs(
    title = "Share Score Since Beginning of the Experiment",
    x = "Time Since First Start (days)",
    y = "Share Score",
    color = "Legend"
  ) +
  theme_minimal()+
  scale_x_continuous(expand = expand_scale(add = c(0.5, 0.5))) +
    guides(fill = guide_legend(title = NULL))

print(share_score) 

ggsave(paste0("./data/chatfuel_summary_statistics/", "share_score_since_start", ".jpg"), share_score, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "share_score_since_start", ".pdf"), share_score, device = "pdf", width = 10, height = 8)
attention_check_since_start<-ggplot(data=df_time_graph, aes(x=time_since_first_start)) +
  geom_line(aes(y=attention_check_passed, color = "Attention Check Passed"), size = 1) +
  labs(
    title = "Attention Check Passing Rate Since Beginning of the Experiment",
    x = "Time Since First Start (days)",
    y = "Passing Rate",
    color = "Legend"
  ) +
  theme_minimal()

print(attention_check_since_start)

ggsave(paste0("./data/chatfuel_summary_statistics/", "attention_check_since_start", ".jpg"), attention_check_since_start, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "attention_check_since_start", ".pdf"), attention_check_since_start, device = "pdf", width = 10, height = 8)

Followup

first_start_time_chat_followup <- min(df_wide_followup$MisinfoChat_start_time_followup)
df_wide_followup <- df_wide_followup |> 
  mutate(time_since_first_start_followup = floor(as.numeric(difftime(MisinfoChat_start_time_followup, first_start_time_chat_followup, units = "days")))) # round to nearest day

df_time_graph_followup <- df_wide_followup %>% 
   select(time_since_first_start_followup, mean_share_misinfo_followup, mean_reliable_misinfo_followup, mean_manipulative_misinfo_followup, mean_share_nonmisinfo_followup, mean_reliable_nonmisinfo_followup, mean_manipulative_nonmisinfo_followup, sharing_discernment_followup, reliability_discernment_followup, manipulation_discernment_followup) %>% 
  group_by(time_since_first_start_followup) %>% 
  summarise_all(mean, na.rm = TRUE)
followup_out_since_start <- ggplot(data=df_time_graph_followup, aes(x=time_since_first_start_followup)) +
  geom_line(aes(y=mean_share_misinfo_followup, color = "Mean Share Misinfo"), size = 1) +
  geom_line(aes(y=mean_reliable_misinfo_followup, color = "Mean Reliable Misinfo"), size = 1) +
  geom_line(aes(y=mean_manipulative_misinfo_followup, color = "Mean Manipulative Misinfo"), size = 1) +
  geom_line(aes(y=mean_share_nonmisinfo_followup, color = "Mean Share Nonmisinfo"), size = 1) +
  geom_line(aes(y=mean_reliable_nonmisinfo_followup, color = "Mean Reliable Nonmisinfo"), size = 1) +
  geom_line(aes(y=mean_manipulative_nonmisinfo_followup, color = "mean_manipulative_nonmisinfo"), size = 1) +
  geom_line(aes(y=sharing_discernment_followup, color = "Sharing Discernment"), size = 1) +
  geom_line(aes(y=reliability_discernment_followup, color = "Reliability Discernment"), size = 1) +
  geom_line(aes(y=manipulation_discernment_followup, color = "Manipulation Discernment"), size = 1) +
  labs(
    title = "Followup Outcomes Since Beginning of the Followup",
    x = "Time Since First Start of Followup (days)",
    y = "Mean Score",
    color = "Legend"
  ) +
  theme_minimal()+
  scale_x_continuous(expand = expand_scale(add = c(0.5, 0.5))) +
    guides(fill = guide_legend(title = NULL))
print(followup_out_since_start)

ggsave(paste0("./data/chatfuel_summary_statistics/", "followup_out_since_start", ".jpg"), followup_out_since_start, device = "jpg", width = 10, height = 8)

ggsave(paste0("./data/chatfuel_summary_statistics/", "followup_out_since_start", ".pdf"), followup_out_since_start, device = "pdf", width = 10, height = 8)

Main Survey

By user

Reliable Score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="reliability_discernment", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment")

Manipulativeness score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="manipulation_discernment", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment")

Sharing

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_misinfo", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename= "sharing_misinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score")

create_histogram_grouped(data = df_wide, 
                 x_var ="sharing_discernment", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment")

By Phase

Reliable Score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="reliability_discernment", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_phase")

Manipulativeness score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="manipulation_discernment", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_phase")

Sharing

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_misinfo", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_phase")

create_histogram_grouped(data = df_wide, 
                 x_var ="sharing_discernment", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_phase")

By Country

Reliable Score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="reliability_discernment", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_country")

Manipulativeness score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="manipulation_discernment", 
                 group_var = "country_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_country")

Sharing

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_misinfo", 
                 group_var = "country_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = "country_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_country")

create_histogram_grouped(data = df_wide, 
                 x_var ="sharing_discernment", 
                 group_var = "country_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Country",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_country")

By Payment Amount

Reliable Score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="reliability_discernment", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_payment_amount")

Manipulativeness score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="manipulation_discernment", 
                 group_var = "payment_amount_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_payment_amount")

Sharing

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_misinfo", 
                 group_var = "payment_amount_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = "payment_amount_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_payment_amount")

create_histogram_grouped(data = df_wide, 
                 x_var ="sharing_discernment", 
                 group_var = "payment_amount_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Payment Amount",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_payment_amount")

By Arm

Reliable Score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="reliability_discernment", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_arm")

Manipulativeness score

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="manipulation_discernment", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_arm")

Sharing

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_misinfo", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_arm")

create_histogram_grouped(data = df_wide, 
                 x_var ="sharing_discernment", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_arm")

By Attention Check Passed

Reliable Score

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_reliable_misinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_reliable_nonmisinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="reliability_discernment", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_attention_check")

Manipulativeness score

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_manipulative_misinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_manipulative_nonmisinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="manipulation_discernment", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed), 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_attention_check")

Sharing

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_share_misinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed),
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="mean_share_nonmisinfo", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed),
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_attention_check")

create_histogram_grouped(data = df_wide_attention_check, 
                 x_var ="sharing_discernment", 
                 group_var = as.factor(df_wide_attention_check$attention_check_passed),
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Attention Check",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_attention_check")

Followup

By user

Reliable Score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_misinfo_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_nonmisinfo_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="reliability_discernment_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_followup")

Manipulativeness score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_misinfo_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_nonmisinfo_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="manipulation_discernment_followup", 
                 group_var = NULL, 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_followup")

Sharing

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_misinfo_followup", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename= "sharing_misinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_nonmisinfo_followup", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="sharing_discernment_followup", 
                 group_var = NULL,
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_followup")

By Phase

Reliable Score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_misinfo_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_nonmisinfo_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="reliability_discernment_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_phase_followup")

Manipulativeness score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_misinfo_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_nonmisinfo_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="manipulation_discernment_followup", 
                 group_var = "phase_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_phase_followup")

Sharing

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_misinfo_followup", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_nonmisinfo_followup", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_phase_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="sharing_discernment_followup", 
                 group_var = "phase_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Phase",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_phase_followup")

By Arm

Reliable Score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_misinfo_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_misinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_reliable_nonmisinfo_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_nonmisinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="reliability_discernment_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Reliable Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "reliable_discernment_by_arm_followup")

Manipulativeness score

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_misinfo_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_misinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_manipulative_nonmisinfo_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulative_nonmisinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="manipulation_discernment_followup", 
                 group_var = "arm_coded", 
                 bin_width = 1,
                 title = "Histogram of Manipulation Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "manipulation_discernment_by_arm_followup")

Sharing

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_misinfo_followup", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_misinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="mean_share_nonmisinfo_followup", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Non-Misinformation Score By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_nonmisinfo_score_by_arm_followup")

create_histogram_grouped(data = df_wide_followup, 
                 x_var ="sharing_discernment_followup", 
                 group_var = "arm_coded",
                 bin_width = 0.5,
                 title = "Histogram of Sharing Discernment By Arm",
                 x_label = "Score", 
                 y_label = "Frequency",
                 file_basename = "sharing_discernment_by_arm_followup")

Analysis of Missing Values

options(scipen = 999)

create_aggr_plot_distribution <- function(data, colors = c('lavender', 'purple'), sort_vars = TRUE, axis_cex = 0.3, gap = 0.5, number_dec = 3) {
  # Generate the aggregate plot for missing data showing only the distribution
  aggr_plot <- aggr(data, col = colors, numbers = TRUE, sortVars = sort_vars, labels = names(data), 
                    cex.axis = axis_cex, gap = gap, which = c(1), number_dec = number_dec)
  
  # Return the plot object
  return(aggr_plot)
}
  • We provided a distribution of missing values for user-level and post-level variables in the tables below

  • Note that the variable count indeed represents the proportion of missing values in the first table of each set of tables

  • For post-level variables, we expect there to be no missing values for any of the variables. However, there are a few observations in follow up we need to look at again.

User level variables

Consented participants

  • We are currently having a total 70355 respondents who consented to the study

  • The table below shows the number of missing values for each variable and their distribution

create_aggr_plot_distribution(df_wide)

## 
##  Variables sorted by number of missings: 
##                      Variable     Count
##        attention_check_passed 0.3917135
##            mean_share_misinfo 0.3915571
##         mean_reliable_misinfo 0.3915571
##     mean_manipulative_misinfo 0.3915571
##         mean_share_nonmisinfo 0.3915571
##      mean_reliable_nonmisinfo 0.3915571
##  mean_manipulative_nonmisinfo 0.3915571
##           sharing_discernment 0.3915571
##       reliability_discernment 0.3915571
##      manipulation_discernment 0.3915571
##         misinfo_quiz_duration 0.3749840
##                total_duration 0.3749129
##          misinfoQuiz_end_time 0.3749129
##   manipulative_reliable_order 0.2695899
##         intervention_duration 0.2599247
##        MisinfoQuiz_start_time 0.2598252
##                   analytic_id 0.0000000
##                   phase_coded 0.0000000
##                 country_coded 0.0000000
##          payment_amount_coded 0.0000000
##      payment_condition_dollar 0.0000000
##                     arm_coded 0.0000000
##        MisinfoChat_start_time 0.0000000
##         missing_treatment_arm 0.0000000
##                abnormal_posts 0.0000000
##             stage_reached_num 0.0000000
##            stage_reached_char 0.0000000
##             consent_coded_num 0.0000000
##                      subphase 0.0000000
##                        strata 0.0000000
##                quiz_completed 0.0000000
##          quiz_completed_coded 0.0000000
##                     phase_arm 0.0000000
##        time_since_first_start 0.0000000
## 
##  Missings in variables:
##                      Variable Count
##                total_duration 26377
##         intervention_duration 18287
##         misinfo_quiz_duration 26382
##          misinfoQuiz_end_time 26377
##        MisinfoQuiz_start_time 18280
##   manipulative_reliable_order 18967
##            mean_share_misinfo 27548
##         mean_reliable_misinfo 27548
##     mean_manipulative_misinfo 27548
##         mean_share_nonmisinfo 27548
##      mean_reliable_nonmisinfo 27548
##  mean_manipulative_nonmisinfo 27548
##           sharing_discernment 27548
##       reliability_discernment 27548
##      manipulation_discernment 27548
##        attention_check_passed 27559

Completed quiz participants

df_quiz_completed <- df_wide |> filter(quiz_completed == 1) 

quiz_completed <- as.character(nrow(df_quiz_completed))

create_aggr_plot_distribution(df_quiz_completed)

## 
##  Variables sorted by number of missings: 
##                      Variable        Count
##        attention_check_passed 0.0002569673
##         intervention_duration 0.0002336067
##         misinfo_quiz_duration 0.0001168033
##        MisinfoQuiz_start_time 0.0001168033
##                   analytic_id 0.0000000000
##                   phase_coded 0.0000000000
##                 country_coded 0.0000000000
##          payment_amount_coded 0.0000000000
##      payment_condition_dollar 0.0000000000
##                     arm_coded 0.0000000000
##        MisinfoChat_start_time 0.0000000000
##                total_duration 0.0000000000
##          misinfoQuiz_end_time 0.0000000000
##         missing_treatment_arm 0.0000000000
##                abnormal_posts 0.0000000000
##             stage_reached_num 0.0000000000
##            stage_reached_char 0.0000000000
##             consent_coded_num 0.0000000000
##   manipulative_reliable_order 0.0000000000
##                      subphase 0.0000000000
##                        strata 0.0000000000
##            mean_share_misinfo 0.0000000000
##         mean_reliable_misinfo 0.0000000000
##     mean_manipulative_misinfo 0.0000000000
##         mean_share_nonmisinfo 0.0000000000
##      mean_reliable_nonmisinfo 0.0000000000
##  mean_manipulative_nonmisinfo 0.0000000000
##           sharing_discernment 0.0000000000
##       reliability_discernment 0.0000000000
##      manipulation_discernment 0.0000000000
##                quiz_completed 0.0000000000
##          quiz_completed_coded 0.0000000000
##                     phase_arm 0.0000000000
##        time_since_first_start 0.0000000000
## 
##  Missings in variables:
##                Variable Count
##   intervention_duration    10
##   misinfo_quiz_duration     5
##  MisinfoQuiz_start_time     5
##  attention_check_passed    11
  • We are currently having a total 42807 respondents who completed_quiz

Consented followup participants

  • We are currently having a total 19950 respondents who consented to the follow up study
create_aggr_plot_distribution(df_wide_followup)

## 
##  Variables sorted by number of missings: 
##                                   Variable      Count
##  attention_check_passed_followup_coded_num 0.07137845
##          manipulation_discernment_followup 0.07132832
##      mean_manipulative_nonmisinfo_followup 0.07127820
##         mean_manipulative_misinfo_followup 0.07117794
##                mean_share_misinfo_followup 0.07112782
##             mean_reliable_misinfo_followup 0.07112782
##             mean_share_nonmisinfo_followup 0.07112782
##          mean_reliable_nonmisinfo_followup 0.07112782
##               sharing_discernment_followup 0.07112782
##           reliability_discernment_followup 0.07112782
##              misinfoQuiz_end_time_followup 0.07062657
##            duration_complete_quiz_followup 0.07062657
##            MisinfoQuiz_start_time_followup 0.01177945
##                                analytic_id 0.00000000
##                                  arm_coded 0.00000000
##                                phase_coded 0.00000000
##            MisinfoChat_start_time_followup 0.00000000
##          time_since_completed_intervention 0.00000000
##                  time_since_completed_quiz 0.00000000
##               user_payment_amount_followup 0.00000000
##                       followup_entry_point 0.00000000
##                      followup_reflection_1 0.00000000
##                      followup_reflection_2 0.00000000
##                      followup_reflection_3 0.00000000
##             abnormal_followup_reflection_1 0.00000000
##             abnormal_followup_reflection_2 0.00000000
##             abnormal_followup_reflection_3 0.00000000
##          completed_quiz_followup_coded_num 0.00000000
##                    quiz_completed_followup 0.00000000
##                                  phase_arm 0.00000000
##            time_since_first_start_followup 0.00000000
## 
##  Missings in variables:
##                                   Variable Count
##            MisinfoQuiz_start_time_followup   235
##              misinfoQuiz_end_time_followup  1409
##            duration_complete_quiz_followup  1409
##  attention_check_passed_followup_coded_num  1424
##                mean_share_misinfo_followup  1419
##             mean_reliable_misinfo_followup  1419
##         mean_manipulative_misinfo_followup  1420
##             mean_share_nonmisinfo_followup  1419
##          mean_reliable_nonmisinfo_followup  1419
##      mean_manipulative_nonmisinfo_followup  1422
##               sharing_discernment_followup  1419
##           reliability_discernment_followup  1419
##          manipulation_discernment_followup  1423

Completed followup quiz participants

df_quiz_completed_followup <- df_wide_followup |> filter(quiz_completed_followup == "TRUE")
n_quiz_completed_followup <- as.character(nrow(df_quiz_completed_followup))


create_aggr_plot_distribution(df_quiz_completed_followup)

## 
##  Variables sorted by number of missings: 
##                                   Variable         Count
##  attention_check_passed_followup_coded_num 0.00005397528
##                                analytic_id 0.00000000000
##                                  arm_coded 0.00000000000
##                                phase_coded 0.00000000000
##            MisinfoChat_start_time_followup 0.00000000000
##            MisinfoQuiz_start_time_followup 0.00000000000
##              misinfoQuiz_end_time_followup 0.00000000000
##            duration_complete_quiz_followup 0.00000000000
##          time_since_completed_intervention 0.00000000000
##                  time_since_completed_quiz 0.00000000000
##               user_payment_amount_followup 0.00000000000
##                       followup_entry_point 0.00000000000
##                      followup_reflection_1 0.00000000000
##                      followup_reflection_2 0.00000000000
##                      followup_reflection_3 0.00000000000
##             abnormal_followup_reflection_1 0.00000000000
##             abnormal_followup_reflection_2 0.00000000000
##             abnormal_followup_reflection_3 0.00000000000
##          completed_quiz_followup_coded_num 0.00000000000
##                mean_share_misinfo_followup 0.00000000000
##             mean_reliable_misinfo_followup 0.00000000000
##         mean_manipulative_misinfo_followup 0.00000000000
##             mean_share_nonmisinfo_followup 0.00000000000
##          mean_reliable_nonmisinfo_followup 0.00000000000
##      mean_manipulative_nonmisinfo_followup 0.00000000000
##               sharing_discernment_followup 0.00000000000
##           reliability_discernment_followup 0.00000000000
##          manipulation_discernment_followup 0.00000000000
##                    quiz_completed_followup 0.00000000000
##                                  phase_arm 0.00000000000
##            time_since_first_start_followup 0.00000000000
## 
##  Missings in variables:
##                                   Variable Count
##  attention_check_passed_followup_coded_num     1
  • We are currently having a total 18527 respondents who completed_followup_quiz for the follow up study

User-post level

  • In the cleaning scripts for the main survey and followup data, we have removed the rows with missing values for the user-post level variables. Therefore, there is no missing values for the user-post level variables.

Main Survey

create_aggr_plot_distribution(df_long)

## 
##  Variables sorted by number of missings: 
##                  Variable Count
##               analytic_id     0
##                   post_id     0
##               post_number     0
##                 post_type     0
##               share_score     0
##            reliable_score     0
##        manipulative_score     0
##               phase_coded     0
##  quiz_completed_coded_num     0
##                 arm_coded     0
## 
##  Missings in variables:
## [1] Variable Count   
## <0 rows> (or 0-length row.names)

Follow up

create_aggr_plot_distribution(df_long_followup)

## 
##  Variables sorted by number of missings: 
##                                   Variable         Count
##  attention_check_passed_followup_coded_num 0.00005396363
##                manipulative_score_followup 0.00004317090
##                                analytic_id 0.00000000000
##          completed_quiz_followup_coded_num 0.00000000000
##                       post_number_followup 0.00000000000
##                           post_id_followup 0.00000000000
##                    reliable_score_followup 0.00000000000
##                       share_score_followup 0.00000000000
##                         post_type_followup 0.00000000000
##                                is_followup 0.00000000000
## 
##  Missings in variables:
##                                   Variable Count
##  attention_check_passed_followup_coded_num     5
##                manipulative_score_followup     4