1. Data Preparation

Data Import

Raw Data

We start by importing the data from the original CSV file exported from Qualtrics.

Code
dt_raw <- read.csv("../data/raw_data/Top+VE+Predictors-+All+countries_May+30,+2023_10.18.csv")

# import spss sav file if needed
# Looks like this is the correct and full dataset, wait for confirmation from Joce.
# dt_raw <- haven::read_sav(here("data", "raw data", "Top+VE+Predictors-+All+countries_May+30,+2023_10.18.sav"))

# import indonesia data
df_raw_ind <- read_excel(
  path      = "../data/raw_data/Indonesia Data.xlsx",
  skip      = 1,            # skip row 1
  col_names = TRUE          # take the first *unskipped* row as names
)
New names:
• `1. Humiliation` -> `1. Humiliation...55`
• `2. Shame` -> `2. Shame...56`
• `1. Humiliation` -> `1. Humiliation...58`
• `2. Shame` -> `2. Shame...59`
Code
dt_raw_type <- "csv" # other option is sav

Scale Mapping

To prepare the mapping file, you can run the following python command from your base folder terminal.

python3 full-annotated-code/mapping_prep_code.py

We then import the mapping file with the additional information on the scales.

Code
# mapping_raw <- read.csv(file = here("data", "mapping", "scale_item_mapping.csv"))
mapping_raw <- read.csv("../data/mapping/qsf_data.csv")

Data Cleaning

Clean dataset issues

Raw data

Mapping data

Code
# add the import_id based on the primary attribute and the choice order
# Clean and split the choice_order column
tmp <- mapping_raw %>%
  mutate(choice_order = str_replace_all(choice_order, "[\\[\\]']", "")) %>%
  separate_rows(choice_order, sep = ", ") %>% 
  mutate(import_id = paste0(primary_attribute, "_", choice_order))

# Create the new import_id column
scale_mapping <- tmp %>%
  left_join(csv_var_info, by = "import_id")

# add the subscale names
scale_mapping <- scale_mapping %>% 
  mutate(
    csv_old_var_name_recode = case_when(
      str_detect(csv_old_var_name, "[a-zA-Z]+\\.[a-zA-Z]+") ~ str_replace_all(csv_old_var_name, "\\.", "_"), # make underdashes if characters
      TRUE ~ sub("\\..*", "", csv_old_var_name)  # Remove everything after the dot if there are numbers
    ),
    item_number =  str_extract(csv_old_var_name_recode, "(?<=_)[^_]+$")
  )

# Combined patterns
combined_patterns <- list(
  "political_party_choice" = list("overall" = c("^Choose Political Party$")),
  "moral_neutralization" = list("overall" = c("^moral_neut_.*$", "^moral_neut$", "^moral neut$")),
  "anger" = list("overall" = c("^Anger_STAXI_.*$", "^Anger_STAXI$", "^Anger STAXI$", "^Anger$")),
  "radical_attitudes" = list("overall" = c("^Radical_attitudes_.*$", "^Radical_attitudes$", "^Radical attitudes$", "^Radical Attitudes$")),
  "panas" = list(
    "overall" = c("^PANAS_.*$", "^PANAS$", "^panas$"),
    "positive_affect" = c(1, 2, 3, 4, 5),
    "negative_affect" = c(6, 7, 8, 9, 10)
  ),
  "past_activism" = list("overall" = c("^past_activism_.*$", "^past activism.*$", "^past activism$", "^Past Activism$", "^past activism US$", "^past activism United$", "^past activism Saudi$")),
  "collective_relative_deprivation" = list("overall" = c("^group_rel_dep_.*$", "^group rel dep.*$", "^group_rel_dep$", "^group rel dep$", "^Group relative dep$", "^Relative Deprivation$", "^Group relative dep.*$", "^Group relative dep US$", "^Group relative dep United$", "^Group relative dep Saudi$")),
  "perceived_discrimination" = list("overall" = c("^perc_discrim_.*$", "^perc_discrim$", "^perc discrim$", "^Perc Discrim$", "^Perceived Discrimination$", "^Perc Discrim.*$", "^Perc Discrim US$", "^Perc Discrim United$", "^Perc Discrim Saudi$")),
  "ingroup_superiority" = list("overall" = c("^ingroup_superior_.*$", "^ingroup_superior$", "^ingroup superior$", "^Ingroup Superiority$", "^ingroup superior.*$", "^ingroup superior US$", "^ingroup superior United$", "^ingroup superior Saudi$")),
  "activist_intent" = list("overall" = c("^activist_intent_.*$", "^activist_intent$", "^activist intent.*$", "^activist intentions$", "^Activist Intentions$", "^activist intentions.*$", "^activist intentions US$", "^activist intentions United$", "^activist intentions Saudi$")),
  "ideological_passion" = list(
    "overall" = c("^passion_.*$", "^passion$", "^Passion.*$", "^Passion$", "^Passion US$", "^Passion United$", "^Passion Saudi$"),
    "harmonious_passion" = c(1, 3, 5, 6, 8, 10),
    "obsessive_passion" = c(2, 4, 7, 9, 11, 12),
    "commitment_passion" = c(13, 14, 15, 16)
  ),
  "identity_fusion" = list("overall" = c("^fusion_.*$", "^fusion$", "^identity_fusion_.*$", "^identity_fusion$", "^Identity Fusion$", "^identity fusion.*$", "^identity fusion US$", "^identity fusion United$", "^identity fusion Saudi$")),
  "radical_intentions" = list(
    "overall" = c("^Rad_intent_.*$", "^Rad_intent.*$", "^Rad intent.*$", "^Radical Intentions$", "^Radical intentions.*$", "^Radical intentions US$", "^Radical intentions United$", "^Radical intentions Saudi$"),
    "violent_intent" = c(1, 2, 3, 4, 6),
    "miscellaneous" = c(5),
    "peaceful_intent" = c(7, 8, 9, 10, 11, 12)
  ),
  "intuition_logic" = list(
    "overall" = c("^Pontus_.*$", "^Pontus.*$", "^Pontus US$", "^Pontus United$", "^Pontus Saudi$"),
    "intuition" = c(1),
    "logic" = c(2)
  ),
  "timing" = list("overall" = c(".*_First_Click.*$", ".*_Last_Click.*$", ".*_Page_Submit.*$", ".*_Click_Count.*$"))
)

# Function to match scales and subscales
match_scale_and_subscale <- function(scale_name, item_number) {
  if (is.na(scale_name)) return(list(scale = "miscellaneous", subscale = "miscellaneous"))
  
  for (scale in names(combined_patterns)) {
    for (pattern in combined_patterns[[scale]]$overall) {
      if (grepl(pattern, scale_name, ignore.case = TRUE)) {
        subscale <- scale  # Default to the scale name if no subscale matches
        
        # Check if item_number matches any subscale
        for (subscale_name in names(combined_patterns[[scale]])) {
          if (subscale_name != "overall" && item_number %in% combined_patterns[[scale]][[subscale_name]]) {
            subscale <- subscale_name
            break
          }
        }
        return(list(scale = scale, subscale = subscale))
      }
    }
  }
  
  return(list(scale = "miscellaneous", subscale = "miscellaneous"))
}

# Apply the matching function
scale_mapping <- scale_mapping %>%
  rowwise() %>%
  dplyr::mutate(
    match_result = list(match_scale_and_subscale(scale_name, item_number)),
    scale_name_recoded = match_result$scale,
    subscale_name_recoded = match_result$subscale
  ) %>%
  ungroup() %>%
  select(-match_result)  # Remove the temporary column

# Summarize which original scale names got added to each group
scale_mapping %>%
  group_by(scale_name_recoded) %>%
  summarise(original_names = paste(unique(scale_name), collapse = ", ")) %>%
  ungroup() %>% 
  kable(., caption = "The following scales got recoded to new names") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down"))
The following scales got recoded to new names
scale_name_recoded original_names
activist_intent Activist Intentions, activist intentions, activist intentions United, activist intentions US, activist intentions Saudi
anger Anger STAXI
collective_relative_deprivation Relative Deprivation, Group relative dep, Group relative dep United, Group relative dep US, Group relative dep Saudi
identity_fusion Identity Fusion, identity fusion, identity fusion United, identity fusion US, identity fusion Saudi
ideological_passion Passion, Passion United, Passion Saudi, Passion US
ingroup_superiority Ingroup Superiority, ingroup superior, ingroup superior United, ingroup superior US, ingroup superior Saudi
intuition_logic Pontus, Pontus United, Pontus US, Pontus Saudi
miscellaneous Trash / Unused, , Debriefing, attention check
moral_neutralization moral neut
panas panas
past_activism past activism, Past Activism, past activism US, past activism United, past activism Saudi
perceived_discrimination Perceived Discrimination, Perc Discrim, Perc Discrim United, Perc Discrim US, Perc Discrim Saudia
political_party_choice Choose Political Party
radical_attitudes Radical Attitudes
radical_intentions Radical intentions, Radical Intentions, Radical intentions United, Radical intentions Saudi, Radical intentions US
Code
# Summarize which original scale names got added to each group
scale_mapping %>%
  group_by(subscale_name_recoded) %>%
  summarise(original_names = paste(unique(paste(scale_name_recoded, item_number, sep = "_")), collapse = ", ")) %>%
  ungroup() %>% 
  kable(., caption = "The following subscales got recoded to new names") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
The following subscales got recoded to new names
subscale_name_recoded original_names
activist_intent activist_intent_1, activist_intent_2, activist_intent_3, activist_intent_4, activist_intent_NA
anger anger_1, anger_2, anger_3, anger_4, anger_5, anger_6, anger_7, anger_8, anger_9, anger_10, anger_NA
collective_relative_deprivation collective_relative_deprivation_1, collective_relative_deprivation_2, collective_relative_deprivation_3, collective_relative_deprivation_4, collective_relative_deprivation_5, collective_relative_deprivation_6, collective_relative_deprivation_7, collective_relative_deprivation_NA
commitment_passion ideological_passion_13, ideological_passion_14, ideological_passion_15, ideological_passion_16
harmonious_passion ideological_passion_1, ideological_passion_3, ideological_passion_5, ideological_passion_6, ideological_passion_8, ideological_passion_10
identity_fusion identity_fusion_1, identity_fusion_2, identity_fusion_3, identity_fusion_4, identity_fusion_5, identity_fusion_6, identity_fusion_7, identity_fusion_NA
ideological_passion ideological_passion_NA
ingroup_superiority ingroup_superiority_1, ingroup_superiority_2, ingroup_superiority_3, ingroup_superiority_4, ingroup_superiority_NA
intuition intuition_logic_1
intuition_logic intuition_logic_NA
logic intuition_logic_2
miscellaneous radical_intentions_5, miscellaneous_NA
moral_neutralization moral_neutralization_1, moral_neutralization_2, moral_neutralization_3, moral_neutralization_4, moral_neutralization_5, moral_neutralization_6, moral_neutralization_7, moral_neutralization_8, moral_neutralization_9, moral_neutralization_10, moral_neutralization_11, moral_neutralization_12, moral_neutralization_13, moral_neutralization_14, moral_neutralization_15, moral_neutralization_16, moral_neutralization_NA
negative_affect panas_6, panas_7, panas_8, panas_9, panas_10
obsessive_passion ideological_passion_2, ideological_passion_4, ideological_passion_7, ideological_passion_9, ideological_passion_11, ideological_passion_12
panas panas_NA
past_activism past_activism_1, past_activism_2, past_activism_3, past_activism_4, past_activism_NA
peaceful_intent radical_intentions_7, radical_intentions_8, radical_intentions_9, radical_intentions_10, radical_intentions_11, radical_intentions_12
perceived_discrimination perceived_discrimination_1, perceived_discrimination_2, perceived_discrimination_3, perceived_discrimination_4, perceived_discrimination_5, perceived_discrimination_6, perceived_discrimination_7, perceived_discrimination_8, perceived_discrimination_9, perceived_discrimination_10, perceived_discrimination_11, perceived_discrimination_NA
political_party_choice political_party_choice_NA
positive_affect panas_1, panas_2, panas_3, panas_4, panas_5
radical_attitudes radical_attitudes_1, radical_attitudes_2, radical_attitudes_3, radical_attitudes_NA
radical_intentions radical_intentions_13, radical_intentions_NA
violent_intent radical_intentions_1, radical_intentions_2, radical_intentions_3, radical_intentions_4, radical_intentions_6
Code
# change into na relevant columns
scale_mapping[scale_mapping == ""] <- NA #empty cells into NA
scale_mapping[scale_mapping == -99] <- NA #-99 into NA
scale_mapping[scale_mapping == "NA"] <- NA #NA into NA

Clean scale issues

Code
# make sure scales have the correct values
# Identify unique entries in the 'value' column
non_unique_values <- unique(scale_mapping$import_id[duplicated(scale_mapping$import_id) == TRUE])

if (length(non_unique_values) != 0) {
  warning("There are duplicates in the ID column of the scale_mapping file. Currently values get recoded on the first match")
}
rm(non_unique_values)

values_df <- scale_mapping %>% 
  transmute(
    import_id = import_id,
    old_values = answers,
    new_values = answer_recode
  )

# Helper function to fix JSON strings
fix_json_format <- function(json_str) {
  placeholder <- "PLACEHOLDER_SINGLE_QUOTE"
  # Replace internal single quotes with a placeholder
  json_str <- gsub("(?<=: \")([^\"]*?)'([^\"]*?)(?=\")", paste0("\\1", placeholder, "\\2"), json_str, perl = TRUE)
  # Replace enclosing single quotes with double quotes
  json_str <- gsub("'", "\"", json_str)
  # Remove HTML tags
  json_str <- gsub("<[^>]+>", "", json_str)
  # Revert the placeholder back to single quotes
  json_str <- gsub(placeholder, "'", json_str)
  return(json_str)
}

# for testing
# df1 <- dt_raw
# df2 <- values_df
# col <- df1 %>% select(contains("732")) %>% names()
# col <- col[1]
# print_debug <- TRUE
# i = 1

# function for wrangling
recode_values <- function(df1, df2, print_debug = FALSE) {
  
  # Create a list to store the reverse maps for each column
  reverse_maps <- list()
  
  # Initialize the progress bar if print_debug is FALSE
  if (!print_debug) {
    pb1 <- progress::progress_bar$new(
      format = "  Creating Reverse Maps [:bar] :percent in :elapsed",
      total = nrow(df2),
      width = 60
    )
  }
  
  # Iterate over each row in df2 to create the reverse maps
  for (i in 1:nrow(df2)) {
    import_id <- df2$import_id[i]
    old_values <- df2$old_values[i]
    new_values <- df2$new_values[i]
    
    if (print_debug) {
      cat(paste0("Processing ", import_id, "....\n"))
    } else {
      pb1$tick()
    }
    
    # Fix the JSON format
    if (!is.na(old_values)) {
      old_values_fixed <- fix_json_format(old_values)
      display_map <- jsonlite::fromJSON(old_values_fixed)
    }
    if (!is.na(new_values)) {
      new_values_fixed <- fix_json_format(new_values)
      value_map <- jsonlite::fromJSON(new_values_fixed)
    }
    
    # fix coding if both old_values and new_values exist
    if (!is.na(old_values) && !is.na(new_values)) {
      if (print_debug) {
        cat("Using information from both the old and new values for wrangling....\n")
      }
      
      # Create a reverse map from display values to numeric values
      reverse_map <- sapply(names(display_map), function(key) {
        display_value <- display_map[[key]]$Display
        numeric_value <- value_map[[key]]
        return(c(display_value, numeric_value))
      })
      
      # fix coding if only old_values exist
    } else if (!is.na(old_values) && is.na(new_values)) {
      if (print_debug) {
        cat("Using information only from the old values for wrangling....\n")
      }
      
      # Create a reverse map using only old_values
      reverse_map <- sapply(names(display_map), function(key) {
        display_value <- display_map[[key]]$Display
        numeric_value <- key
        return(c(display_value, numeric_value))
      })
    } else {
      if (print_debug) {
        cat("No information on either old and new values. Continuing to next column....\n")
      }
      next
    }
    
    # Convert the reverse map to a named vector for easy lookup
    reverse_map <- setNames(reverse_map[2, ], reverse_map[1, ])
    
    # Store the reverse map in the list
    reverse_maps[[import_id]] <- reverse_map
  }
  
  # Initialize the progress bar for the second loop if print_debug is FALSE
  if (!print_debug) {
    pb2 <- progress::progress_bar$new(
      format = "  Recoding Values [:bar] :percent in :elapsed",
      total = length(colnames(df1)),
      width = 60
    )
  }
  
  # Apply the reverse maps to df1
  for (col in colnames(df1)) {
    if (col %in% names(reverse_maps)) {
      if (print_debug) {
        print(paste0("Recoding ", col, "..."))
      } else {
        pb2$tick()
      }
      
      reverse_map <- reverse_maps[[col]]
      
      # Debug: Print reverse_map to ensure it is correct
      if (print_debug) {
        print("Reverse map being used:")
        print(reverse_map)
      }
      
      # Normalize function to ensure no invisible differences
      normalize_string <- function(s) {
        s <- stringr::str_trim(s)         # Trim whitespace
        s <- iconv(s, to = "UTF-8")       # Ensure consistent encoding
        s <- stringr::str_squish(s)       # Remove any extra spaces within the string
        return(s)
      }
      
      # for testing
      # value = df1[[col]]
      
      return_values <- lapply(df1[[col]], function(value) {
        # Check if value is NA
        if (is.na(value)) {
          mapped_value <- NA
        } else {
          # Normalize both old value and keys in reverse map
          old_value <- normalize_string(value)
          reverse_map_normalized <- sapply(names(reverse_map), normalize_string)
          
          # Additional Debugging: Print exact characters and lengths
          if (print_debug) {
            print(paste0("Old value: '", old_value, "' (Exact: ", dput(old_value), ", Length: ", nchar(old_value), ")"))
            print("Normalized reverse_map keys:")
            print(reverse_map_normalized)
          }
          
          # Safely map the value
          if (old_value %in% reverse_map_normalized) {
            mapped_value <- reverse_map[[which(reverse_map_normalized == old_value)]]
          } else if (old_value %in% unlist(reverse_map)) {
            # If the old_value is numeric ('0' or '1'), reverse lookup
            mapped_value <- names(reverse_map)[which(unlist(reverse_map) == old_value)]
          } else {
            mapped_value <- NA
          }
          
          # Debug: Print the mapping result
          if (print_debug) {
            print(paste0("Mapped value: '", mapped_value, "' (Exact: ", dput(mapped_value), ", Length: ", nchar(mapped_value), ")"))
          }
        }
        
        # Return both old and mapped values for inspection
        return_values <- tibble(
          old_values = value,
          mapped_values = mapped_value
        )
        return(return_values)
      })
      
      # Convert the list of tibbles to a single tibble or data frame
      return_values_df <- bind_rows(return_values)
      
      # Check for NA values and print warning if any
      na_indices <- which(is.na(return_values_df$mapped_values) & !is.na(return_values_df$old_values))
      
      if (length(na_indices) > 0) {
        warning(
          paste0("NAs introduced in column '", col, "' for the following original values: ",
                 paste(unique(df1[[col]][na_indices]), collapse = ", "),
                 ".\nReverse map used: ", paste(names(reverse_map), collapse = ", "))
        )
      } 
      
      # Update the dataframe with mapped values
      df1[[col]] <- return_values_df$mapped_values
    } else if (!print_debug) {
      pb2$tick()  # Update progress bar even if the column is not in reverse_maps
    }
  }
  
  return(df1)
}

# Apply the function
file_path <- "../data/wrangled_data/dt_raw_recode.RData"
if (file.exists(file_path)) {
  cat("Recoded file already exists. Delete it for rerunning the recoding. Loading the recoded data...\n")
  load(file_path) # This loads the object into the environment
} else {
  cat("We first recode the values based on the QSF and SPSS files....\n")
  dt_raw_recode <- recode_values(dt_raw, values_df, print_debug = FALSE)
  # rename this column because weird
  names(dt_raw_recode)[names(dt_raw_recode) == "_recordId"] <- "response_id"
  save(dt_raw_recode, file = file_path)
}

Recoded file already exists. Delete it for rerunning the recoding. Loading the recoded data…

Indonesian data

Code
# load and clean (we import the import which has structured headers)
dt_raw_indo <- read.csv("../data/raw_data/Indonesia_Data_import.csv", sep = ";")


# information to map scales
dt_raw_indo %>%
  slice(1) %>%                                # grab first row
  pivot_longer(                               # turn wide → long
    cols = everything(),
    names_to  = "item",
    values_to = "description"
  ) %>%
  kable(                                       # render as table
    caption = "Scale items and their description. We use them to harmonize the Indonesian dataset with the base dataset."
  ) %>%
  kable_styling(
    full_width    = FALSE,
    latex_options = c("hold_position", "scale-down")
  ) %>%
  scroll_box(width = "100%", height = "600px")
Scale items and their description. We use them to harmonize the Indonesian dataset with the base dataset.
item description
response_id no
gender gender
age age
religion religion
education education
educode educode
status status
job job
residence residence
income income
incode incode
moral_neutralization_indo_01 1. It is alright to fight to protect your friends.
moral_neutralization_indo_02 2. It is alright to beat somebody who doesn’t respect your friends.
moral_neutralization_indo_03 3. It is okay to join in when someone you don’t like is being bullied.
moral_neutralization_indo_04 4. Sometimes it is okay to bully other people.
moral_neutralization_indo_05 5. Bullying is just a normal part of childhood.
moral_neutralization_indo_06 6. People sometimes need to be hit.
moral_neutralization_indo_07 7. Only a coward would ever walk away from a fight.
moral_neutralization_indo_08 8. It is ok to get in a physical fight with someone if you have to stand up to protect your rights.
moral_neutralization_indo_09 9. Many problems can be solved with violence.
moral_neutralization_indo_10 10. Some kids need to be picked on just to teach them a lesson.
moral_neutralization_indo_11 11. Getting bullied helps to make people tougher.
moral_neutralization_indo_12 12. If someone acts like a jerk, it is ok to treat them badly.
moral_neutralization_indo_13 13. Some kids get bullied because they deserve it.
moral_neutralization_indo_14 14. Most students who get bullied have themselves to blame.
moral_neutralization_indo_15 15.You should hurt people first, before they hurt you.
moral_neutralization_indo_16 16. It is ok to bad-mouth other people, they bad-mouth you too.
anger_indo_01 1. I feel infuriated when I do a good job and receive a poor evaluation
anger_indo_02 2. I feel annoyed when I am not given recognition for doing good work
anger_indo_03 3. It makes me furious when I am criticized in front of others
anger_indo_04 4. I react angrily
anger_indo_05 5. I get angry when I'm slowed down by others' mistakes
anger_indo_06 6. When I get frustrated I feel like hitting someone
anger_indo_07 7. When I get mad I say nasty things
anger_indo_08 8. I lose control of my anger
anger_indo_09 9. I am a person that gets angry easily
anger_indo_10 10. I am quick to get angry
positive_affect_indo_01 1. Determined
positive_affect_indo_02 2. Attentive
positive_affect_indo_03 3. Alert
positive_affect_indo_04 4. Inspired
positive_affect_indo_05 5. Active
negative_affect_indo_01 6. Afraid
negative_affect_indo_02 7. Nervous
negative_affect_indo_03 8. Upset
negative_affect_indo_04 9. Ashamed
negative_affect_indo_05 10. Hostile
identity_fusion_indo_01 1. I am one with the cause of the Islamic Organization
identity_fusion_indo_02 2. I feel immersed in the cause of the Islamic Organization.
identity_fusion_indo_03 3. I have a deep emotional bond with the cause of the Islamic Organization
identity_fusion_indo_04 4.The cause of the Islamic Organization is me.
identity_fusion_indo_05 5. I’ll do for the cause of the Islamic Organization more than any of the other group members would do.
identity_fusion_indo_06 6. I am strong because of the cause of the Islamic Organization.
identity_fusion_indo_07 7. I make the cause of the Islamic Organization strong.
personal_loss_of_significance_01 1. Humiliation
personal_loss_of_significance_02 2. Shame
personal_loss_of_significance_03 3. People laughing at you
collective_loss_of_significance_01 1. Humiliation
collective_loss_of_significance_02 2. Shame
collective_loss_of_significance_03 3. People laughing at members of the Islamic Organization
ingroup_superiority_indo_01 1. I believe that supporters of the Islamic Party/Organization are better people than people who endorse another political party.
ingroup_superiority_indo_02 2. I think everyone should be a supporter of the Islamic Party/Organization.
ingroup_superiority_indo_03 3. I think supporters of the Islamic Party/Organization are very special people who are destined to change things in the world.
ingroup_superiority_indo_04 4. Islamic Party/Organization is better tthan other political parties.
Attention.Check.1 5. Choose the number four from the following response options.
perceived_discrimination_indo_01 1.People have talked down to me because I support the Islamic Party/Organization
perceived_discrimination_indo_02 2. People have acted like I am immoral because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_03 3. People have treated me like I am lazy because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_04 4. People have expected me to be dishonest because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_05 5. Others have teased me because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_06 6. People have questioned my intelligence because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_07 7. I have been made to feel stupid because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_08 8. I have been treated like I am inferior because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_09 9. I have been told that I am too closed-minded because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_10 10. I have been socially ostracized by others because I am a supporter of the Islamic Party/Organization.
perceived_discrimination_indo_11 11. I have been undervalued because I am a supporter of the Islamic Party/Organization.
activist_intent_indo_01 1. I would join or belong to an organization that fights for Islamic Group's political and legal rights.
activist_intent_indo_02 2. I would donate money to an organization that fights for the Islamic Group's political and legal rights.
activist_intent_indo_03 3. I would volunteer my time working (i.e. write petitions, distribute flyers, recruit people, etc.) for an organization that fights for the Islamic Group's political and legal rights.
activist_intent_indo_04 4. I would travel for one hour to join in a public rally, protest, or demonstration in support of the Islamic Party/Organization
collective_relative_deprivation_indo_01 1. Supporters of the Islamic Party/Organization should have the same opportunities to improve their lives as others have.
collective_relative_deprivation_indo_02 2. Supporters of the Islamic Party/Organization always seem to be at the bottom and others at the top of the social ladder.
collective_relative_deprivation_indo_03 3. I feel furious about supporters of Islamic Party/Organization having limited opportunities to get ahead in their lives.
collective_relative_deprivation_indo_04 4. I think supporters of the Islamic Party/Organization are disadvantaged because others oppress them.
collective_relative_deprivation_indo_05 5. Supporters of the Islamic Party/Organization are disadvantaged because others keep them down.
collective_relative_deprivation_indo_06 6. I feel angry because people discriminate against supporters of the Islamic Party/Organization
harmonious_passion_indo_01 1. My involvement in the Islamic Party/Organization is in harmony with the other activities in my life.
harmonious_passion_indo_02 2. The new things that I discover about my involvement in the Islamic Party/Organization allow me to appreciate it even more.
harmonious_passion_indo_03 3. My involvement in the Islamic Party/Organization reflects the qualities I like about myself.
harmonious_passion_indo_04 4. My involvement in the Islamic Party/Organization allows me to live a variety of experiences.
harmonious_passion_indo_05 5. My involvement in the Islamic Party/Organization is well integrated in my life.
harmonious_passion_indo_06 6. My involvement in the Islamic Party/Organization is in harmony with other things that are part of me.
obsessive_passion_indo_01 7. I have difficulties controlling my urge to being involved in the Islamic Party/Organization
obsessive_passion_indo_02 8. I have almost an obsessive feeling for being involved in the Islamic Party/Organization
obsessive_passion_indo_03 9. My involvement in the Islamic Party/Organization is the only thing that captivates me.
obsessive_passion_indo_04 10. If I could, I would only keep getting involved in the Islamic Party/Organization.
obsessive_passion_indo_05 11. My involvement in the Islamic Party/Organization is so exciting that I sometimes lose control over it.
obsessive_passion_indo_06 12. I have the impression that my involvement in the Islamic Party/Organization controls me.
commitment_passion_indo_01 13. I spend a lot of time thinking about the Islamic Party/Organization
commitment_passion_indo_02 14. I like the Islamic Party/Organization
commitment_passion_indo_03 15. The Islamic Party/Organization is important for me.
commitment_passion_indo_04 16. The Islamic Party/Organization is a passion for me.
violent_intents_indo_01 1. Doing risky or illegal actions to help the Islamic Party/Organization in Indonesia win the next elections.
violent_intents_indo_02 2. Harassing people who ridicule or oppose the Islamic Party/Organization in Indonesia.
violent_intents_indo_03 3. Physically attack people who ridicule or oppose the Islamic Party/Organization in Indonesia.
violent_intents_indo_04 4. Destroy signs that ridicule or oppose the Islamic Party/Organization in Indonesia.
violent_intents_indo_05 5. Put an end to my friendship with anyone who ridicules or opposes the Islamic Party/Organization in Indonesia
violent_intents_indo_06 6. Using any means, even violent ones, to help the Islamic Party/Organization in Indonesia
peaceful_intents_07 7. Sending e-mails or news about the Islamic Party/Organization in Indonesia to my friends.
peaceful_intents_08 8. Organizing fundraising activities for the Islamic Party/Organization in Indonesia
peaceful_intents_09 9. Raising public awareness about the Islamic Party/Organization in Indonesia
peaceful_intents_10 10. Sensitizing close relatives or colleagues about the importance of the Islamic Party/Organization in Indonesia
peaceful_intents_11 11. Organizing social activities to increase people's awareness about the Islamic Party/Organization in Indonesia
peaceful_intents_12 12. Financially supporting people or organizations that promote the Islamic Party/Organization in Indonesia
past_activism_indo_01 1.Invited a friend to attend a meeting of a Islamic Party/Organization?
past_activism_indo_02 2. Donated money to a political candidate of the Islamic political party?
past_activism_indo_03 3. Attended a meeting of a Islamic Party/Organization?
past_activism_indo_04 4. Donated money to a Islamic Party/Organization?
intuition_indo_01 1. I have faith
logic_indo_02 2. I know it logically
attention_check_02 3. Choose the number one from the following response options.
radical_attitudes_indo_01 1. It is acceptable to use violence to further a cause.
radical_attitudes_indo_02 2. Violence is necessary for social change.
radical_attitudes_indo_03 3. Violence is an acceptable means to further a cause.
Code
# drop first row and change into na relevant columns
dt_raw_indo <- dt_raw_indo[-c(1),] # we remove the first two rows
dt_raw_indo[dt_raw_indo == ""] <- NA #empty cells into NA
dt_raw_indo[dt_raw_indo == -99] <- NA #-99 into NA
dt_raw_indo[dt_raw_indo == "NA"] <- NA #NA into NA

Recode

Code
# 1. Define your maps as named vectors
gender_map <- c(
  female = "Female",
  male   = "Male"
)

education_map <- c(
  "completed elementary school or equivalent"                       = "Primary education",
  "did not complete junior high school or equivalent"               = "Primary education",
  "completed junior high school or equivalent"                     = "General secondary education",
  "did not complete senior high school or equivalent"              = "General secondary education",
  "completed senior high school or equivalent"                     = "General secondary education",
  "completed D3/diploma"                                           = "Vocational education",
  "completed bachelor's degree (S1) or equivalent"                 = "Bachelors degree",
  "did not complete bachelor's degree (S1) or equivalent"          = "Higher education",
  "completed master's degree (S2) or doctorate (S3) or equivalent" = "Masters degree",
  "did not complete master's degree (S2) or doctorate (S3) or equivalent" = "Higher education"
  
)

# 2. Turn them into a data.frame
map_df <- bind_rows(
  tibble(scale = "gender",       original = names(gender_map),   recoded = unname(gender_map)),
  tibble(scale = "education",    original = names(education_map),recoded = unname(education_map))
)

# 3. Print as a table
map_df %>%
  select(scale, original, recoded) %>%
  kable(
    caption = "Scale items and their description.\nWe use them to harmonize the Indonesian dataset with the base dataset.",
    col.names = c("Scale","Original label","Recoded label")
  ) %>%
  kable_styling(
    full_width    = FALSE,
    latex_options = c("hold_position", "scale-down")
  ) %>%
  scroll_box(width = "100%", height = "600px")
Scale items and their description. We use them to harmonize the Indonesian dataset with the base dataset.
Scale Original label Recoded label
gender female Female
gender male Male
education completed elementary school or equivalent Primary education
education did not complete junior high school or equivalent Primary education
education completed junior high school or equivalent General secondary education
education did not complete senior high school or equivalent General secondary education
education completed senior high school or equivalent General secondary education
education completed D3/diploma Vocational education
education completed bachelor's degree (S1) or equivalent Bachelors degree
education did not complete bachelor's degree (S1) or equivalent Higher education
education completed master's degree (S2) or doctorate (S3) or equivalent Masters degree
education did not complete master's degree (S2) or doctorate (S3) or equivalent Higher education
Code
cat("Creating merge dataframe. Response_id remains the same. Age gets stored in QID18_Text and QID19 (later religion) gets set to Muslim as all Indonesian participants were Muslim. Gender and education get recoded as described above.\n")

Creating merge dataframe. Response_id remains the same. Age gets stored in QID18_Text and QID19 (later religion) gets set to Muslim as all Indonesian participants were Muslim. Gender and education get recoded as described above.

Code
cat("Also adding items that were measured the same across all surveys. These include moral neutralization, radical attitudes, anger as well as positive and negative affect. \n")

Also adding items that were measured the same across all surveys. These include moral neutralization, radical attitudes, anger as well as positive and negative affect.

Code
cat("Only item that got harmonized is the third negative affect item. In the original dataframe it was measured with the item 'Sad'. In Indonesia it was measured with 'Upset'.\n")

Only item that got harmonized is the third negative affect item. In the original dataframe it was measured with the item ‘Sad’. In Indonesia it was measured with ‘Upset’.

Code
dt_raw_indo_recode <- dt_raw_indo %>% 
  transmute(
    response_id = response_id,
    QID18_TEXT = age,
    QID20 = recode(gender,   !!!gender_map,   .default = "other"),
    QID99 = recode(education,!!!education_map,.default = NA_character_),
    QID19 = "Muslims",
    progress = "100", # all finished
    C = "Indonesia",
    # moral neutralization
    QID66_1 = moral_neutralization_indo_01,
    QID66_4 = moral_neutralization_indo_02,
    QID66_5 =   moral_neutralization_indo_03,
    QID66_6 = moral_neutralization_indo_04,
    QID66_7 =   moral_neutralization_indo_05,           
    QID66_8 =   moral_neutralization_indo_06,       
    QID66_9 =   moral_neutralization_indo_07,           
    QID66_10 = moral_neutralization_indo_08,                
    QID66_11 =  moral_neutralization_indo_09,           
    QID66_12 = moral_neutralization_indo_10,
    QID66_13 = moral_neutralization_indo_11,                
    QID66_14 = moral_neutralization_indo_12,                
    QID66_15 = moral_neutralization_indo_13,                
    QID66_16 = moral_neutralization_indo_14,                
    QID66_17 = moral_neutralization_indo_15,                
    QID66_18 = moral_neutralization_indo_16,
    # radical attitudes
    QID73_1 =   radical_attitudes_indo_01,  
    QID73_4 =   radical_attitudes_indo_02,
    QID73_5 =   radical_attitudes_indo_03,
    # anger
    QID72_1 = anger_indo_01,
    QID72_2 =   anger_indo_02,          
    QID72_3 =   anger_indo_03,          
    QID72_10 = anger_indo_04,               
    QID72_4 =   anger_indo_05,          
    QID72_5 =   anger_indo_06,          
    QID72_6 =   anger_indo_07,          
    QID72_7 =   anger_indo_08,          
    QID72_8 =   anger_indo_09,          
    QID72_9 =   anger_indo_10,
    # positive affect
    QID47_1 = positive_affect_indo_01,
    QID47_32 = positive_affect_indo_02,         
    QID47_33 = positive_affect_indo_03,             
    QID47_34 = positive_affect_indo_04,             
    QID47_35 = positive_affect_indo_05,
    # negative affect
    QID47_36 = negative_affect_indo_01,
    QID47_37 = negative_affect_indo_02,             
    QID47_38 = negative_affect_indo_03,             
    QID47_39 = negative_affect_indo_04,             
    QID47_40 = negative_affect_indo_05
  )
Code
# load the manually prepared scale_info_indonesia file
dt_scale_info_indo <- read.csv("../data/mapping/scale_info_indonesia.csv", sep = ";")

# add them to dt_raw_indo
# 1) grab the vector of new items
new_items <- dt_scale_info_indo$item

# 2) make sure they actually exist in dt_raw_indo
new_items <- intersect(new_items, names(dt_raw_indo))

# (optional) warn if any expected columns are missing
missing_items <- setdiff(dt_scale_info_indo$item, new_items)
if (length(missing_items)) {
  warning("These items weren't found in dt_raw_indo: ",
          paste(missing_items, collapse = ", "))
}

# 3) bind them on as new columns
cat("We are recoding past activism from No-Yes to 0-1.")

We are recoding past activism from No-Yes to 0-1.

Code
dt_raw_indo_recode <- dt_raw_indo_recode %>%
  bind_cols(
    dt_raw_indo %>%
      select(all_of(new_items)) %>%
      mutate(
        across(
          starts_with("past_activism_indo"),
          ~ if_else(. == "Yes", 1, 0)
        )
      )
  )
rm(new_items, missing_items)

Combine Datasets

Code
# 1) Identify which names overlap vs. which are brand‐new
old_cols <- intersect(names(dt_raw_recode), names(dt_raw_indo_recode))
new_cols <- setdiff(names(dt_raw_indo_recode), names(dt_raw_recode))

# 2) Actually merge your two data‐frames, unioning all columns
dt_raw_recode <- bind_rows(dt_raw_recode, dt_raw_indo_recode)

# 3) Build a little comparison table
max_len <- max(length(old_cols), length(new_cols))
tibble(
  Already_in_dt_raw = c(old_cols, rep(NA, max_len - length(old_cols))),
  Added_new         = c(new_cols, rep(NA, max_len - length(new_cols)))
) %>% 
  kable(., caption = "Old and new columns added from Indonesia dataset. Merged columns on the left. New ones on the right.", digits = 2) %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
Old and new columns added from Indonesia dataset. Merged columns on the left. New ones on the right.
Already_in_dt_raw Added_new
progress identity_fusion_indo_01
response_id identity_fusion_indo_02
QID18_TEXT identity_fusion_indo_03
QID19 identity_fusion_indo_04
QID20 identity_fusion_indo_05
QID99 identity_fusion_indo_06
QID66_1 identity_fusion_indo_07
QID66_4 ingroup_superiority_indo_01
QID66_5 ingroup_superiority_indo_02
QID66_6 ingroup_superiority_indo_03
QID66_7 ingroup_superiority_indo_04
QID66_8 collective_relative_deprivation_indo_01
QID66_9 collective_relative_deprivation_indo_02
QID66_10 collective_relative_deprivation_indo_03
QID66_11 collective_relative_deprivation_indo_04
QID66_12 collective_relative_deprivation_indo_05
QID66_13 collective_relative_deprivation_indo_06
QID66_14 past_activism_indo_01
QID66_15 past_activism_indo_02
QID66_16 past_activism_indo_03
QID66_17 past_activism_indo_04
QID66_18 perceived_discrimination_indo_01
QID72_1 perceived_discrimination_indo_02
QID72_2 perceived_discrimination_indo_03
QID72_3 perceived_discrimination_indo_04
QID72_10 perceived_discrimination_indo_05
QID72_4 perceived_discrimination_indo_06
QID72_5 perceived_discrimination_indo_07
QID72_6 perceived_discrimination_indo_08
QID72_7 perceived_discrimination_indo_09
QID72_8 perceived_discrimination_indo_10
QID72_9 perceived_discrimination_indo_11
QID47_1 activist_intent_indo_01
QID47_32 activist_intent_indo_02
QID47_33 activist_intent_indo_03
QID47_34 activist_intent_indo_04
QID47_35 intuition_indo_01
QID47_36 logic_indo_02
QID47_37 violent_intents_indo_01
QID47_38 violent_intents_indo_02
QID47_39 violent_intents_indo_03
QID47_40 violent_intents_indo_04
QID73_1 violent_intents_indo_06
QID73_4 peaceful_intents_07
QID73_5 peaceful_intents_08
C peaceful_intents_09
NA peaceful_intents_10
NA peaceful_intents_11
NA peaceful_intents_12
NA harmonious_passion_indo_01
NA obsessive_passion_indo_01
NA harmonious_passion_indo_02
NA obsessive_passion_indo_02
NA harmonious_passion_indo_03
NA harmonious_passion_indo_04
NA obsessive_passion_indo_03
NA harmonious_passion_indo_05
NA obsessive_passion_indo_04
NA harmonious_passion_indo_06
NA obsessive_passion_indo_05
NA obsessive_passion_indo_06
NA commitment_passion_indo_01
NA commitment_passion_indo_02
NA commitment_passion_indo_03
NA commitment_passion_indo_04

Clean participant issues

Code
# Identify people who did not finish
no_finish <- dt_raw_recode %>% 
  filter(as.numeric(progress) < 98) %>% 
  select(response_id, progress)

if (nrow(no_finish) == 0) {
  cat(paste("Everyone finished the survey. Continuing the code....\n"))
  rm(no_finish)
} else {
  cat(paste("There is a total of", nrow(no_finish), "people who did not finish the survey.\n"))
  cat(paste("Here is a list of people that did not finish the survey:\n"))
  no_finish %>% 
    kable(., caption = "People who did not finish the survey", digits = 2) %>% 
    kable_styling(full_width = F, latex_options = c("hold_position", "scale-down"))
}

Everyone finished the survey. Continuing the code….

Code
multiple_entries <- dt_raw_recode %>%
  # 1) remove any rows where the IP is missing
  filter(!is.na(ipAddress)) %>%
  group_by(ipAddress) %>%
  filter(n() > 1) %>%
  select(response_id, ipAddress) %>%
  arrange(ipAddress)

if (nrow(multiple_entries) == 0) {
  cat("There are no duplicate IP addresses. Continuing the code....\n")
  rm(multiple_entries)
} else {
  cat("There is a total of", nrow(multiple_entries), "duplicate IP addresses.\n")
  cat("Here is an excerpt from the list of duplicate IP addresses:\n")
  multiple_entries %>%  
    head(20) %>%
    kable(caption = "Duplicate IP addresses", digits = 2) %>%
    kable_styling(full_width = FALSE,
                  latex_options = c("hold_position", "scale-down"))
}

There is a total of 135 duplicate IP addresses. Here is an excerpt from the list of duplicate IP addresses:

Duplicate IP addresses
response_id ipAddress
R_zZ7J0YyLz2kCbpT 102.89.47.113
R_2eQgiUISZQogUQJ 102.89.47.113
R_3IaTp8on3hjqSMC 103.69.247.230
R_1kLZoIMbb1kGuOE 103.69.247.230
R_3QLzYq5TbmS6w4s 109.233.22.182
R_bpZMNDqcT1K0BXz 109.233.22.182
R_uvQNcmsp11hWWQx 109.40.242.238
R_s7GBT7G2uS1hPyN 109.40.242.238
R_3nJnrdYQZRFqMkm 122.2.99.28
R_2Qs8RcQvWPNS8x5 122.2.99.28
R_2sWHQ2vCZuORqCI 142.118.99.186
R_1Ny1MGeeipIGq1w 142.118.99.186
R_2SvlgYNW8dh9rLk 143.55.138.74
R_2wyFDxnXKLtgxIb 143.55.138.74
R_1C46lXfQzjqfcKt 168.187.67.214
R_1rPOrOoNO8HedKU 168.187.67.214
R_3ixIvo1QBzgTRkl 172.58.228.133
R_PHTlTqhgXWcaSrL 172.58.228.133
R_VRuJsIIY2Yo0P97 172.59.187.29
R_1LdsM0arpEAoODA 172.59.187.29
Code
# Identify people who are either too old or too young
age_wrong <- dt_raw_recode %>%
  mutate(age = as.numeric(QID18_TEXT)) %>%
  filter(age < 18 | age > 155) %>% 
  select(response_id, age)

if (nrow(age_wrong) == 0) {
  cat(paste("Everyone has the correct age. Continuing the code....\n"))
  rm(age_wrong)
} else {
  cat(paste("There is a total of", nrow(age_wrong), "people who have the wrong age (non-sensical entry or too young).\n"))
  cat(paste("Here is an exerpt of people that fall into this category:\n"))
  age_wrong %>% 
    head(., 20) %>%
    kable(., caption = "People who have the wrong age") %>% 
    kable_styling(full_width = F, latex_options = c("hold_position", "scale-down"))
}

There is a total of 178 people who have the wrong age (non-sensical entry or too young). Here is an exerpt of people that fall into this category:

People who have the wrong age
response_id age
R_3qr0wBYr6uH1lhD 14.00
R_2ScM0xTeYkz0G2F 1.00
R_WxH2YnRRPMAJFjH 75020.00
R_1im4X6hF7yoRByw 1990.00
R_u4e7XLn50KdmRnX 2.00
R_2ccnjI9DMHQIJG1 0.41
R_2t2W08ZcpN3BqqS 77019034.00
R_1mQrcvoLI1PmUvi 1953.00
R_2wGNtB4dJQvGAIr 12.00
R_2EgE9ghiOgpbuVJ 1967.00
R_2cj67mGRFppgKIr 17.00
R_WDaOPfHvQnsuNX3 2.00
R_3JBc11gPiFbMNnr 1274.00
R_2qeHkNmZfTrEQba 15.00
R_3NEA0PWO2jmYoqg 15.00
R_2wpjLbEvjkco4Sd 45660.00
R_2uWJq3sLg80ynt6 16.00
R_2wbqrdX3d2BMFV6 16.00
R_2YfjLbn6hHtwqkX 15.00
R_3ndVW8ucm9RPQBb 37545.00

Store Cleaned data

Code
# Filter cleaned data set
dt_clean <- dt_raw_recode

if (exists("no_finish")) {
  dt_clean <- dt_clean %>%
    anti_join(no_finish, by = "response_id")
}

if (exists("multiple_entries")) {
  dt_clean <- dt_clean %>%
    anti_join(multiple_entries, by = "response_id")
}

if (exists("age_wrong")) {
  dt_clean <- dt_clean %>%
    anti_join(age_wrong, by = "response_id")
}

# Convert labeled values to numeric
if (dt_raw_type == "sav") {
  dt_clean <- dt_clean %>% mutate(across(where(is.character), function(x) {
    as.numeric(gsub(".*- ", "", x))
  }))
}

# Ensure the directory exists
dir.create("../data/wrangled_data",
           recursive = TRUE,
           showWarnings = FALSE)

# Save the data frame as a Parquet file
write_parquet(dt_clean, "../data/wrangled_data/dt_clean.parquet")

# Verify the file exists
if (!file.exists("../data/wrangled_data/dt_clean.parquet")) {
  stop("Error: File not created successfully.")
} else {
  cat("File created successfully.")
}

File created successfully.

Code
rm(multiple_entries)

# Display the structure of the cleaned data
# str(dt_clean)

Variable Preparation

Code
# Function to find columns containing a specific string
find_columns_with_string <- function(data, search_string) {
  # Apply grepl across all columns and check if the search_string is in any column
  column_matches <- sapply(data, function(column) {
    any(grepl(search_string, column, ignore.case = TRUE))
  })
  
  # Return the names of the columns that match
  matching_columns <- names(data)[column_matches]
  
  return(matching_columns)
}

# Example usage
# search_string <- "Algeria"
# matching_columns <- find_columns_with_string(dt_clean, search_string)

Scale info

Code
# base data
scale_info <- scale_mapping %>%
  filter(
    ! subscale_name_recoded %in% c("miscellaneous", "political_party_choice"),   # drop timing vars, MTurk IDs, etc.
    description             != "Timing",
    ! country_extracted    %in% c("Palestine","Sudan"),
    ! import_id            %in% c("QID177_14", "QID910_1", "QID910_2", "QID910_3")
  ) %>% 
  # we then pull out the relevant items
  transmute(
    item = import_id,
    item_number = paste0(primary_attribute, "_", item_number),
    scale_name = scale_name_recoded, 
    subscale_name = subscale_name_recoded,
    country_extracted,
    item_identifier = paste0(country_extracted, "-", scale_name, "-", subscale_name, "-", item)
  )

# indonesia data
scale_info_indonesia <- read.csv("../data/mapping/scale_info_indonesia.csv", sep = ";")

# merge datasets
scale_info <- scale_info %>% 
  bind_rows(scale_info_indonesia)
rm(scale_info_indonesia)
Code
scale_info %>%
  filter(
    scale_name != "timing",
    item != "_"
  ) %>%
  transmute(
    "Item Name" = item,
    "Scale" = scale_name,
    "Subscale" = subscale_name,
    "Country" = country_extracted
  ) %>%
  kbl(.,
      escape = FALSE,
      booktabs = TRUE,
      label = "vitme_overview",
      format = "html",
      # align = c(rep("l", 4), rep("c", ncol(.)-4)),
      # digits = 2,
      linesep = "",
      caption = "Item Scale Mapping") %>%
  # add_header_above(c(" " = 5, "Survey" = 2, "Analysis" = 2)) %>%
  kable_classic(
    full_width = FALSE,
    lightable_options = "hover",
    html_font = "Cambria"
  ) %>%
  scroll_box(width = "100%", height = "500px") %>%
  footnote(
    general = c('Timing variables were removed from the item overview.')
  )
Item Scale Mapping
Item Name Scale Subscale Country
QID828_1 radical_intentions violent_intent Mexico
QID828_25 radical_intentions violent_intent Mexico
QID828_26 radical_intentions violent_intent Mexico
QID828_27 radical_intentions violent_intent Mexico
QID828_29 radical_intentions violent_intent Mexico
QID828_30 radical_intentions peaceful_intent Mexico
QID828_31 radical_intentions peaceful_intent Mexico
QID828_32 radical_intentions peaceful_intent Mexico
QID828_33 radical_intentions peaceful_intent Mexico
QID828_34 radical_intentions peaceful_intent Mexico
QID828_35 radical_intentions peaceful_intent Mexico
QID904_1 past_activism past_activism Israel
QID904_10 past_activism past_activism Israel
QID904_11 past_activism past_activism Israel
QID904_12 past_activism past_activism Israel
QID902_1 radical_intentions violent_intent Israel
QID902_25 radical_intentions violent_intent Israel
QID902_26 radical_intentions violent_intent Israel
QID902_27 radical_intentions violent_intent Israel
QID902_29 radical_intentions violent_intent Israel
QID902_30 radical_intentions peaceful_intent Israel
QID902_31 radical_intentions peaceful_intent Israel
QID902_32 radical_intentions peaceful_intent Israel
QID902_33 radical_intentions peaceful_intent Israel
QID902_34 radical_intentions peaceful_intent Israel
QID902_35 radical_intentions peaceful_intent Israel
QID906_1 intuition_logic intuition Israel
QID906_9 intuition_logic logic Israel
QID342_1 ideological_passion harmonious_passion Hungary
QID342_89 ideological_passion obsessive_passion Hungary
QID342_90 ideological_passion harmonious_passion Hungary
QID342_91 ideological_passion obsessive_passion Hungary
QID342_92 ideological_passion harmonious_passion Hungary
QID342_93 ideological_passion harmonious_passion Hungary
QID342_94 ideological_passion obsessive_passion Hungary
QID342_95 ideological_passion harmonious_passion Hungary
QID342_96 ideological_passion obsessive_passion Hungary
QID342_97 ideological_passion harmonious_passion Hungary
QID342_98 ideological_passion obsessive_passion Hungary
QID342_99 ideological_passion obsessive_passion Hungary
QID342_100 ideological_passion commitment_passion Hungary
QID342_101 ideological_passion commitment_passion Hungary
QID342_102 ideological_passion commitment_passion Hungary
QID342_103 ideological_passion commitment_passion Hungary
QID539_1 identity_fusion identity_fusion Turkey
QID539_46 identity_fusion identity_fusion Turkey
QID539_47 identity_fusion identity_fusion Turkey
QID539_48 identity_fusion identity_fusion Turkey
QID539_49 identity_fusion identity_fusion Turkey
QID539_50 identity_fusion identity_fusion Turkey
QID539_51 identity_fusion identity_fusion Turkey
QID541_1 ingroup_superiority ingroup_superiority Turkey
QID541_52 ingroup_superiority ingroup_superiority Turkey
QID541_53 ingroup_superiority ingroup_superiority Turkey
QID541_54 ingroup_superiority ingroup_superiority Turkey
QID547_1 collective_relative_deprivation collective_relative_deprivation Turkey
QID547_58 collective_relative_deprivation collective_relative_deprivation Turkey
QID547_59 collective_relative_deprivation collective_relative_deprivation Turkey
QID547_60 collective_relative_deprivation collective_relative_deprivation Turkey
QID547_61 collective_relative_deprivation collective_relative_deprivation Turkey
QID547_62 collective_relative_deprivation collective_relative_deprivation Turkey
QID549_1 ideological_passion harmonious_passion Turkey
QID549_63 ideological_passion obsessive_passion Turkey
QID549_64 ideological_passion harmonious_passion Turkey
QID549_65 ideological_passion obsessive_passion Turkey
QID549_66 ideological_passion harmonious_passion Turkey
QID549_67 ideological_passion harmonious_passion Turkey
QID549_68 ideological_passion obsessive_passion Turkey
QID549_69 ideological_passion harmonious_passion Turkey
QID549_70 ideological_passion obsessive_passion Turkey
QID549_71 ideological_passion harmonious_passion Turkey
QID549_72 ideological_passion obsessive_passion Turkey
QID549_73 ideological_passion obsessive_passion Turkey
QID549_74 ideological_passion commitment_passion Turkey
QID549_75 ideological_passion commitment_passion Turkey
QID549_76 ideological_passion commitment_passion Turkey
QID549_77 ideological_passion commitment_passion Turkey
QID551_1 radical_intentions violent_intent Turkey
QID551_78 radical_intentions violent_intent Turkey
QID551_79 radical_intentions violent_intent Turkey
QID551_80 radical_intentions violent_intent Turkey
QID551_82 radical_intentions violent_intent Turkey
QID551_83 radical_intentions peaceful_intent Turkey
QID551_84 radical_intentions peaceful_intent Turkey
QID551_85 radical_intentions peaceful_intent Turkey
QID551_86 radical_intentions peaceful_intent Turkey
QID551_87 radical_intentions peaceful_intent Turkey
QID551_88 radical_intentions peaceful_intent Turkey
QID555_1 intuition_logic intuition Turkey
QID555_63 intuition_logic logic Turkey
QID310_1 intuition_logic intuition Finland
QID310_76 intuition_logic logic Finland
QID505_1 perceived_discrimination perceived_discrimination Sweden
QID505_43 perceived_discrimination perceived_discrimination Sweden
QID505_44 perceived_discrimination perceived_discrimination Sweden
QID505_45 perceived_discrimination perceived_discrimination Sweden
QID505_46 perceived_discrimination perceived_discrimination Sweden
QID505_47 perceived_discrimination perceived_discrimination Sweden
QID505_48 perceived_discrimination perceived_discrimination Sweden
QID505_49 perceived_discrimination perceived_discrimination Sweden
QID505_50 perceived_discrimination perceived_discrimination Sweden
QID505_51 perceived_discrimination perceived_discrimination Sweden
QID505_52 perceived_discrimination perceived_discrimination Sweden
QID507_1 activist_intent activist_intent Sweden
QID507_43 activist_intent activist_intent Sweden
QID507_44 activist_intent activist_intent Sweden
QID507_45 activist_intent activist_intent Sweden
QID515_1 past_activism past_activism Sweden
QID515_16 past_activism past_activism Sweden
QID515_17 past_activism past_activism Sweden
QID515_18 past_activism past_activism Sweden
QID501_1 identity_fusion identity_fusion Sweden
QID501_34 identity_fusion identity_fusion Sweden
QID501_35 identity_fusion identity_fusion Sweden
QID501_36 identity_fusion identity_fusion Sweden
QID501_37 identity_fusion identity_fusion Sweden
QID501_38 identity_fusion identity_fusion Sweden
QID501_39 identity_fusion identity_fusion Sweden
QID503_1 ingroup_superiority ingroup_superiority Sweden
QID503_40 ingroup_superiority ingroup_superiority Sweden
QID503_41 ingroup_superiority ingroup_superiority Sweden
QID503_42 ingroup_superiority ingroup_superiority Sweden
QID509_1 collective_relative_deprivation collective_relative_deprivation Sweden
QID509_46 collective_relative_deprivation collective_relative_deprivation Sweden
QID509_47 collective_relative_deprivation collective_relative_deprivation Sweden
QID509_48 collective_relative_deprivation collective_relative_deprivation Sweden
QID509_49 collective_relative_deprivation collective_relative_deprivation Sweden
QID509_50 collective_relative_deprivation collective_relative_deprivation Sweden
QID244_1 past_activism past_activism Norway
QID244_10 past_activism past_activism Norway
QID244_11 past_activism past_activism Norway
QID244_12 past_activism past_activism Norway
QID289_1 past_activism past_activism Denmark
QID289_16 past_activism past_activism Denmark
QID289_17 past_activism past_activism Denmark
QID289_18 past_activism past_activism Denmark
QID207_24 ideological_passion harmonious_passion Brazil
QID207_58 ideological_passion obsessive_passion Brazil
QID207_59 ideological_passion harmonious_passion Brazil
QID207_60 ideological_passion obsessive_passion Brazil
QID207_61 ideological_passion harmonious_passion Brazil
QID207_62 ideological_passion harmonious_passion Brazil
QID207_63 ideological_passion obsessive_passion Brazil
QID207_64 ideological_passion harmonious_passion Brazil
QID207_65 ideological_passion obsessive_passion Brazil
QID207_66 ideological_passion harmonious_passion Brazil
QID207_67 ideological_passion obsessive_passion Brazil
QID207_68 ideological_passion obsessive_passion Brazil
QID207_69 ideological_passion commitment_passion Brazil
QID207_70 ideological_passion commitment_passion Brazil
QID207_71 ideological_passion commitment_passion Brazil
QID207_72 ideological_passion commitment_passion Brazil
QID209_1 radical_intentions violent_intent Brazil
QID209_25 radical_intentions violent_intent Brazil
QID209_26 radical_intentions violent_intent Brazil
QID209_27 radical_intentions violent_intent Brazil
QID209_29 radical_intentions violent_intent Brazil
QID209_30 radical_intentions peaceful_intent Brazil
QID209_31 radical_intentions peaceful_intent Brazil
QID209_32 radical_intentions peaceful_intent Brazil
QID209_33 radical_intentions peaceful_intent Brazil
QID209_34 radical_intentions peaceful_intent Brazil
QID209_35 radical_intentions peaceful_intent Brazil
QID494_1 radical_intentions violent_intent Romania
QID494_60 radical_intentions violent_intent Romania
QID494_61 radical_intentions violent_intent Romania
QID494_62 radical_intentions violent_intent Romania
QID494_64 radical_intentions violent_intent Romania
QID494_65 radical_intentions peaceful_intent Romania
QID494_66 radical_intentions peaceful_intent Romania
QID494_67 radical_intentions peaceful_intent Romania
QID494_68 radical_intentions peaceful_intent Romania
QID494_69 radical_intentions peaceful_intent Romania
QID494_70 radical_intentions peaceful_intent Romania
QID369_1 identity_fusion identity_fusion India
QID369_111 identity_fusion identity_fusion India
QID369_112 identity_fusion identity_fusion India
QID369_113 identity_fusion identity_fusion India
QID369_114 identity_fusion identity_fusion India
QID369_115 identity_fusion identity_fusion India
QID369_116 identity_fusion identity_fusion India
QID371_1 ingroup_superiority ingroup_superiority India
QID371_117 ingroup_superiority ingroup_superiority India
QID371_118 ingroup_superiority ingroup_superiority India
QID371_119 ingroup_superiority ingroup_superiority India
QID377_1 collective_relative_deprivation collective_relative_deprivation India
QID377_123 collective_relative_deprivation collective_relative_deprivation India
QID377_124 collective_relative_deprivation collective_relative_deprivation India
QID377_125 collective_relative_deprivation collective_relative_deprivation India
QID377_126 collective_relative_deprivation collective_relative_deprivation India
QID377_127 collective_relative_deprivation collective_relative_deprivation India
QID385_1 intuition_logic intuition India
QID385_128 intuition_logic logic India
QID379_1 ideological_passion harmonious_passion India
QID379_128 ideological_passion obsessive_passion India
QID379_129 ideological_passion harmonious_passion India
QID379_130 ideological_passion obsessive_passion India
QID379_131 ideological_passion harmonious_passion India
QID379_132 ideological_passion harmonious_passion India
QID379_133 ideological_passion obsessive_passion India
QID379_134 ideological_passion harmonious_passion India
QID379_135 ideological_passion obsessive_passion India
QID379_136 ideological_passion harmonious_passion India
QID379_137 ideological_passion obsessive_passion India
QID379_138 ideological_passion obsessive_passion India
QID379_139 ideological_passion commitment_passion India
QID379_140 ideological_passion commitment_passion India
QID379_141 ideological_passion commitment_passion India
QID379_142 ideological_passion commitment_passion India
QID381_1 radical_intentions violent_intent India
QID381_143 radical_intentions violent_intent India
QID381_144 radical_intentions violent_intent India
QID381_145 radical_intentions violent_intent India
QID381_147 radical_intentions violent_intent India
QID381_148 radical_intentions peaceful_intent India
QID381_149 radical_intentions peaceful_intent India
QID381_150 radical_intentions peaceful_intent India
QID381_151 radical_intentions peaceful_intent India
QID381_152 radical_intentions peaceful_intent India
QID381_153 radical_intentions peaceful_intent India
QID375_1 activist_intent activist_intent India
QID375_120 activist_intent activist_intent India
QID375_121 activist_intent activist_intent India
QID375_122 activist_intent activist_intent India
QID373_1 perceived_discrimination perceived_discrimination India
QID373_120 perceived_discrimination perceived_discrimination India
QID373_121 perceived_discrimination perceived_discrimination India
QID373_122 perceived_discrimination perceived_discrimination India
QID373_123 perceived_discrimination perceived_discrimination India
QID373_124 perceived_discrimination perceived_discrimination India
QID373_125 perceived_discrimination perceived_discrimination India
QID373_126 perceived_discrimination perceived_discrimination India
QID373_127 perceived_discrimination perceived_discrimination India
QID373_128 perceived_discrimination perceived_discrimination India
QID373_129 perceived_discrimination perceived_discrimination India
QID383_1 past_activism past_activism India
QID383_31 past_activism past_activism India
QID383_32 past_activism past_activism India
QID383_33 past_activism past_activism India
QID532_1 radical_intentions violent_intent Thailand
QID532_72 radical_intentions violent_intent Thailand
QID532_73 radical_intentions violent_intent Thailand
QID532_74 radical_intentions violent_intent Thailand
QID532_76 radical_intentions violent_intent Thailand
QID532_77 radical_intentions peaceful_intent Thailand
QID532_78 radical_intentions peaceful_intent Thailand
QID532_79 radical_intentions peaceful_intent Thailand
QID532_80 radical_intentions peaceful_intent Thailand
QID532_81 radical_intentions peaceful_intent Thailand
QID532_82 radical_intentions peaceful_intent Thailand
QID526_1 activist_intent activist_intent Thailand
QID526_49 activist_intent activist_intent Thailand
QID526_50 activist_intent activist_intent Thailand
QID526_51 activist_intent activist_intent Thailand
QID520_1 identity_fusion identity_fusion Thailand
QID520_40 identity_fusion identity_fusion Thailand
QID520_41 identity_fusion identity_fusion Thailand
QID520_42 identity_fusion identity_fusion Thailand
QID520_43 identity_fusion identity_fusion Thailand
QID520_44 identity_fusion identity_fusion Thailand
QID520_45 identity_fusion identity_fusion Thailand
QID522_1 ingroup_superiority ingroup_superiority Thailand
QID522_46 ingroup_superiority ingroup_superiority Thailand
QID522_47 ingroup_superiority ingroup_superiority Thailand
QID522_48 ingroup_superiority ingroup_superiority Thailand
QID528_1 collective_relative_deprivation collective_relative_deprivation Thailand
QID528_52 collective_relative_deprivation collective_relative_deprivation Thailand
QID528_53 collective_relative_deprivation collective_relative_deprivation Thailand
QID528_54 collective_relative_deprivation collective_relative_deprivation Thailand
QID528_55 collective_relative_deprivation collective_relative_deprivation Thailand
QID528_56 collective_relative_deprivation collective_relative_deprivation Thailand
QID534_1 past_activism past_activism Thailand
QID534_19 past_activism past_activism Thailand
QID534_20 past_activism past_activism Thailand
QID534_21 past_activism past_activism Thailand
QID524_1 perceived_discrimination perceived_discrimination Thailand
QID524_49 perceived_discrimination perceived_discrimination Thailand
QID524_50 perceived_discrimination perceived_discrimination Thailand
QID524_51 perceived_discrimination perceived_discrimination Thailand
QID524_52 perceived_discrimination perceived_discrimination Thailand
QID524_53 perceived_discrimination perceived_discrimination Thailand
QID524_54 perceived_discrimination perceived_discrimination Thailand
QID524_55 perceived_discrimination perceived_discrimination Thailand
QID524_56 perceived_discrimination perceived_discrimination Thailand
QID524_57 perceived_discrimination perceived_discrimination Thailand
QID524_58 perceived_discrimination perceived_discrimination Thailand
QID530_1 ideological_passion harmonious_passion Thailand
QID530_57 ideological_passion obsessive_passion Thailand
QID530_58 ideological_passion harmonious_passion Thailand
QID530_59 ideological_passion obsessive_passion Thailand
QID530_60 ideological_passion harmonious_passion Thailand
QID530_61 ideological_passion harmonious_passion Thailand
QID530_62 ideological_passion obsessive_passion Thailand
QID530_63 ideological_passion harmonious_passion Thailand
QID530_64 ideological_passion obsessive_passion Thailand
QID530_65 ideological_passion harmonious_passion Thailand
QID530_66 ideological_passion obsessive_passion Thailand
QID530_67 ideological_passion obsessive_passion Thailand
QID530_68 ideological_passion commitment_passion Thailand
QID530_69 ideological_passion commitment_passion Thailand
QID530_70 ideological_passion commitment_passion Thailand
QID530_71 ideological_passion commitment_passion Thailand
QID536_1 intuition_logic intuition Thailand
QID536_57 intuition_logic logic Thailand
QID824_1 radical_intentions violent_intent Argentina
QID824_25 radical_intentions violent_intent Argentina
QID824_26 radical_intentions violent_intent Argentina
QID824_27 radical_intentions violent_intent Argentina
QID824_29 radical_intentions violent_intent Argentina
QID824_30 radical_intentions peaceful_intent Argentina
QID824_31 radical_intentions peaceful_intent Argentina
QID824_32 radical_intentions peaceful_intent Argentina
QID824_33 radical_intentions peaceful_intent Argentina
QID824_34 radical_intentions peaceful_intent Argentina
QID824_35 radical_intentions peaceful_intent Argentina
QID826_1 radical_intentions violent_intent Colombia
QID826_25 radical_intentions violent_intent Colombia
QID826_26 radical_intentions violent_intent Colombia
QID826_27 radical_intentions violent_intent Colombia
QID826_29 radical_intentions violent_intent Colombia
QID826_30 radical_intentions peaceful_intent Colombia
QID826_31 radical_intentions peaceful_intent Colombia
QID826_32 radical_intentions peaceful_intent Colombia
QID826_33 radical_intentions peaceful_intent Colombia
QID826_34 radical_intentions peaceful_intent Colombia
QID826_35 radical_intentions peaceful_intent Colombia
QID830_1 radical_intentions violent_intent Spain
QID830_25 radical_intentions violent_intent Spain
QID830_26 radical_intentions violent_intent Spain
QID830_27 radical_intentions violent_intent Spain
QID830_29 radical_intentions violent_intent Spain
QID830_30 radical_intentions peaceful_intent Spain
QID830_31 radical_intentions peaceful_intent Spain
QID830_32 radical_intentions peaceful_intent Spain
QID830_33 radical_intentions peaceful_intent Spain
QID830_34 radical_intentions peaceful_intent Spain
QID830_35 radical_intentions peaceful_intent Spain
QID450_1 activist_intent activist_intent Austria
QID450_10 activist_intent activist_intent Austria
QID450_11 activist_intent activist_intent Austria
QID450_12 activist_intent activist_intent Austria
QID157_1 activist_intent activist_intent Germany
QID157_10 activist_intent activist_intent Germany
QID157_11 activist_intent activist_intent Germany
QID157_12 activist_intent activist_intent Germany
QID155_1 perceived_discrimination perceived_discrimination Germany
QID155_24 perceived_discrimination perceived_discrimination Germany
QID155_25 perceived_discrimination perceived_discrimination Germany
QID155_26 perceived_discrimination perceived_discrimination Germany
QID155_27 perceived_discrimination perceived_discrimination Germany
QID155_28 perceived_discrimination perceived_discrimination Germany
QID155_29 perceived_discrimination perceived_discrimination Germany
QID155_30 perceived_discrimination perceived_discrimination Germany
QID155_31 perceived_discrimination perceived_discrimination Germany
QID155_32 perceived_discrimination perceived_discrimination Germany
QID155_33 perceived_discrimination perceived_discrimination Germany
QID448_1 perceived_discrimination perceived_discrimination Austria
QID448_24 perceived_discrimination perceived_discrimination Austria
QID448_25 perceived_discrimination perceived_discrimination Austria
QID448_26 perceived_discrimination perceived_discrimination Austria
QID448_27 perceived_discrimination perceived_discrimination Austria
QID448_28 perceived_discrimination perceived_discrimination Austria
QID448_29 perceived_discrimination perceived_discrimination Austria
QID448_30 perceived_discrimination perceived_discrimination Austria
QID448_31 perceived_discrimination perceived_discrimination Austria
QID448_32 perceived_discrimination perceived_discrimination Austria
QID448_33 perceived_discrimination perceived_discrimination Austria
QID458_1 past_activism past_activism Austria
QID458_10 past_activism past_activism Austria
QID458_11 past_activism past_activism Austria
QID458_12 past_activism past_activism Austria
QID165_1 past_activism past_activism Germany
QID165_10 past_activism past_activism Germany
QID165_11 past_activism past_activism Germany
QID165_12 past_activism past_activism Germany
QID792_1 perceived_discrimination perceived_discrimination Argentina
QID792_24 perceived_discrimination perceived_discrimination Argentina
QID792_25 perceived_discrimination perceived_discrimination Argentina
QID792_26 perceived_discrimination perceived_discrimination Argentina
QID792_27 perceived_discrimination perceived_discrimination Argentina
QID792_28 perceived_discrimination perceived_discrimination Argentina
QID792_29 perceived_discrimination perceived_discrimination Argentina
QID792_30 perceived_discrimination perceived_discrimination Argentina
QID792_31 perceived_discrimination perceived_discrimination Argentina
QID792_32 perceived_discrimination perceived_discrimination Argentina
QID792_33 perceived_discrimination perceived_discrimination Argentina
QID794_1 perceived_discrimination perceived_discrimination Colombia
QID794_24 perceived_discrimination perceived_discrimination Colombia
QID794_25 perceived_discrimination perceived_discrimination Colombia
QID794_26 perceived_discrimination perceived_discrimination Colombia
QID794_27 perceived_discrimination perceived_discrimination Colombia
QID794_28 perceived_discrimination perceived_discrimination Colombia
QID794_29 perceived_discrimination perceived_discrimination Colombia
QID794_30 perceived_discrimination perceived_discrimination Colombia
QID794_31 perceived_discrimination perceived_discrimination Colombia
QID794_32 perceived_discrimination perceived_discrimination Colombia
QID794_33 perceived_discrimination perceived_discrimination Colombia
QID796_1 perceived_discrimination perceived_discrimination Mexico
QID796_24 perceived_discrimination perceived_discrimination Mexico
QID796_25 perceived_discrimination perceived_discrimination Mexico
QID796_26 perceived_discrimination perceived_discrimination Mexico
QID796_27 perceived_discrimination perceived_discrimination Mexico
QID796_28 perceived_discrimination perceived_discrimination Mexico
QID796_29 perceived_discrimination perceived_discrimination Mexico
QID796_30 perceived_discrimination perceived_discrimination Mexico
QID796_31 perceived_discrimination perceived_discrimination Mexico
QID796_32 perceived_discrimination perceived_discrimination Mexico
QID796_33 perceived_discrimination perceived_discrimination Mexico
QID798_1 perceived_discrimination perceived_discrimination Spain
QID798_24 perceived_discrimination perceived_discrimination Spain
QID798_25 perceived_discrimination perceived_discrimination Spain
QID798_26 perceived_discrimination perceived_discrimination Spain
QID798_27 perceived_discrimination perceived_discrimination Spain
QID798_28 perceived_discrimination perceived_discrimination Spain
QID798_29 perceived_discrimination perceived_discrimination Spain
QID798_30 perceived_discrimination perceived_discrimination Spain
QID798_31 perceived_discrimination perceived_discrimination Spain
QID798_32 perceived_discrimination perceived_discrimination Spain
QID798_33 perceived_discrimination perceived_discrimination Spain
QID800_1 activist_intent activist_intent Argentina
QID800_10 activist_intent activist_intent Argentina
QID800_11 activist_intent activist_intent Argentina
QID800_12 activist_intent activist_intent Argentina
QID804_1 activist_intent activist_intent Mexico
QID804_16 activist_intent activist_intent Mexico
QID804_17 activist_intent activist_intent Mexico
QID804_18 activist_intent activist_intent Mexico
QID802_1 activist_intent activist_intent Colombia
QID802_10 activist_intent activist_intent Colombia
QID802_11 activist_intent activist_intent Colombia
QID802_12 activist_intent activist_intent Colombia
QID806_1 activist_intent activist_intent Spain
QID806_10 activist_intent activist_intent Spain
QID806_11 activist_intent activist_intent Spain
QID806_12 activist_intent activist_intent Spain
QID201_1 perceived_discrimination perceived_discrimination Brazil
QID201_24 perceived_discrimination perceived_discrimination Brazil
QID201_25 perceived_discrimination perceived_discrimination Brazil
QID201_26 perceived_discrimination perceived_discrimination Brazil
QID201_27 perceived_discrimination perceived_discrimination Brazil
QID201_28 perceived_discrimination perceived_discrimination Brazil
QID201_29 perceived_discrimination perceived_discrimination Brazil
QID201_30 perceived_discrimination perceived_discrimination Brazil
QID201_31 perceived_discrimination perceived_discrimination Brazil
QID201_32 perceived_discrimination perceived_discrimination Brazil
QID201_33 perceived_discrimination perceived_discrimination Brazil
QID437_1 radical_intentions violent_intent France
QID437_25 radical_intentions violent_intent France
QID437_26 radical_intentions violent_intent France
QID437_27 radical_intentions violent_intent France
QID437_29 radical_intentions violent_intent France
QID437_30 radical_intentions peaceful_intent France
QID437_31 radical_intentions peaceful_intent France
QID437_32 radical_intentions peaceful_intent France
QID437_33 radical_intentions peaceful_intent France
QID437_34 radical_intentions peaceful_intent France
QID437_35 radical_intentions peaceful_intent France
QID460_1 intuition_logic intuition Austria
QID460_14 intuition_logic logic Austria
QID167_1 intuition_logic intuition Germany
QID167_9 intuition_logic logic Germany
QID463_1 identity_fusion identity_fusion Poland
QID463_22 identity_fusion identity_fusion Poland
QID463_23 identity_fusion identity_fusion Poland
QID463_24 identity_fusion identity_fusion Poland
QID463_25 identity_fusion identity_fusion Poland
QID463_26 identity_fusion identity_fusion Poland
QID463_27 identity_fusion identity_fusion Poland
QID465_1 ingroup_superiority ingroup_superiority Poland
QID465_28 ingroup_superiority ingroup_superiority Poland
QID465_29 ingroup_superiority ingroup_superiority Poland
QID465_30 ingroup_superiority ingroup_superiority Poland
QID471_1 collective_relative_deprivation collective_relative_deprivation Poland
QID471_34 collective_relative_deprivation collective_relative_deprivation Poland
QID471_35 collective_relative_deprivation collective_relative_deprivation Poland
QID471_36 collective_relative_deprivation collective_relative_deprivation Poland
QID471_37 collective_relative_deprivation collective_relative_deprivation Poland
QID471_38 collective_relative_deprivation collective_relative_deprivation Poland
QID273_1 radical_intentions violent_intent Czech
QID273_53 radical_intentions violent_intent Czech
QID273_54 radical_intentions violent_intent Czech
QID273_55 radical_intentions violent_intent Czech
QID273_57 radical_intentions violent_intent Czech
QID273_58 radical_intentions peaceful_intent Czech
QID273_59 radical_intentions peaceful_intent Czech
QID273_60 radical_intentions peaceful_intent Czech
QID273_61 radical_intentions peaceful_intent Czech
QID273_62 radical_intentions peaceful_intent Czech
QID273_63 radical_intentions peaceful_intent Czech
QID228_1 radical_intentions violent_intent Portugal
QID228_25 radical_intentions violent_intent Portugal
QID228_26 radical_intentions violent_intent Portugal
QID228_27 radical_intentions violent_intent Portugal
QID228_29 radical_intentions violent_intent Portugal
QID228_30 radical_intentions peaceful_intent Portugal
QID228_31 radical_intentions peaceful_intent Portugal
QID228_32 radical_intentions peaceful_intent Portugal
QID228_33 radical_intentions peaceful_intent Portugal
QID228_34 radical_intentions peaceful_intent Portugal
QID228_35 radical_intentions peaceful_intent Portugal
QID435_24 ideological_passion harmonious_passion France
QID435_58 ideological_passion obsessive_passion France
QID435_59 ideological_passion harmonious_passion France
QID435_60 ideological_passion obsessive_passion France
QID435_61 ideological_passion harmonious_passion France
QID435_62 ideological_passion harmonious_passion France
QID435_63 ideological_passion obsessive_passion France
QID435_64 ideological_passion harmonious_passion France
QID435_65 ideological_passion obsessive_passion France
QID435_66 ideological_passion harmonious_passion France
QID435_67 ideological_passion obsessive_passion France
QID435_68 ideological_passion obsessive_passion France
QID435_69 ideological_passion commitment_passion France
QID435_70 ideological_passion commitment_passion France
QID435_71 ideological_passion commitment_passion France
QID435_72 ideological_passion commitment_passion France
QID226_24 ideological_passion harmonious_passion Portugal
QID226_58 ideological_passion obsessive_passion Portugal
QID226_59 ideological_passion harmonious_passion Portugal
QID226_60 ideological_passion obsessive_passion Portugal
QID226_61 ideological_passion harmonious_passion Portugal
QID226_62 ideological_passion harmonious_passion Portugal
QID226_63 ideological_passion obsessive_passion Portugal
QID226_64 ideological_passion harmonious_passion Portugal
QID226_65 ideological_passion obsessive_passion Portugal
QID226_66 ideological_passion harmonious_passion Portugal
QID226_67 ideological_passion obsessive_passion Portugal
QID226_68 ideological_passion obsessive_passion Portugal
QID226_69 ideological_passion commitment_passion Portugal
QID226_70 ideological_passion commitment_passion Portugal
QID226_71 ideological_passion commitment_passion Portugal
QID226_72 ideological_passion commitment_passion Portugal
QID488_1 activist_intent activist_intent Romania
QID488_37 activist_intent activist_intent Romania
QID488_38 activist_intent activist_intent Romania
QID488_39 activist_intent activist_intent Romania
QID486_1 perceived_discrimination perceived_discrimination Romania
QID486_37 perceived_discrimination perceived_discrimination Romania
QID486_38 perceived_discrimination perceived_discrimination Romania
QID486_39 perceived_discrimination perceived_discrimination Romania
QID486_40 perceived_discrimination perceived_discrimination Romania
QID486_41 perceived_discrimination perceived_discrimination Romania
QID486_42 perceived_discrimination perceived_discrimination Romania
QID486_43 perceived_discrimination perceived_discrimination Romania
QID486_44 perceived_discrimination perceived_discrimination Romania
QID486_45 perceived_discrimination perceived_discrimination Romania
QID486_46 perceived_discrimination perceived_discrimination Romania
QID367_1 intuition_logic intuition Malaysia
QID367_137 intuition_logic logic Malaysia
QID66_1 moral_neutralization moral_neutralization general
QID66_4 moral_neutralization moral_neutralization general
QID66_5 moral_neutralization moral_neutralization general
QID66_6 moral_neutralization moral_neutralization general
QID66_7 moral_neutralization moral_neutralization general
QID66_8 moral_neutralization moral_neutralization general
QID66_9 moral_neutralization moral_neutralization general
QID66_10 moral_neutralization moral_neutralization general
QID66_11 moral_neutralization moral_neutralization general
QID66_12 moral_neutralization moral_neutralization general
QID66_13 moral_neutralization moral_neutralization general
QID66_14 moral_neutralization moral_neutralization general
QID66_15 moral_neutralization moral_neutralization general
QID66_16 moral_neutralization moral_neutralization general
QID66_17 moral_neutralization moral_neutralization general
QID66_18 moral_neutralization moral_neutralization general
QID68_1 identity_fusion identity_fusion Canada
QID68_10 identity_fusion identity_fusion Canada
QID68_11 identity_fusion identity_fusion Canada
QID68_12 identity_fusion identity_fusion Canada
QID68_13 identity_fusion identity_fusion Canada
QID68_14 identity_fusion identity_fusion Canada
QID68_15 identity_fusion identity_fusion Canada
QID69_1 ingroup_superiority ingroup_superiority Canada
QID69_13 ingroup_superiority ingroup_superiority Canada
QID69_14 ingroup_superiority ingroup_superiority Canada
QID69_15 ingroup_superiority ingroup_superiority Canada
QID70_1 collective_relative_deprivation collective_relative_deprivation Canada
QID70_14 collective_relative_deprivation collective_relative_deprivation Canada
QID70_15 collective_relative_deprivation collective_relative_deprivation Canada
QID70_16 collective_relative_deprivation collective_relative_deprivation Canada
QID70_17 collective_relative_deprivation collective_relative_deprivation Canada
QID70_18 collective_relative_deprivation collective_relative_deprivation Canada
QID114_1 identity_fusion identity_fusion Australia
QID114_16 identity_fusion identity_fusion Australia
QID114_17 identity_fusion identity_fusion Australia
QID114_18 identity_fusion identity_fusion Australia
QID114_19 identity_fusion identity_fusion Australia
QID114_20 identity_fusion identity_fusion Australia
QID114_21 identity_fusion identity_fusion Australia
QID116_1 ingroup_superiority ingroup_superiority Australia
QID116_19 ingroup_superiority ingroup_superiority Australia
QID116_20 ingroup_superiority ingroup_superiority Australia
QID116_21 ingroup_superiority ingroup_superiority Australia
QID122_1 collective_relative_deprivation collective_relative_deprivation Australia
QID122_19 collective_relative_deprivation collective_relative_deprivation Australia
QID122_20 collective_relative_deprivation collective_relative_deprivation Australia
QID122_21 collective_relative_deprivation collective_relative_deprivation Australia
QID122_22 collective_relative_deprivation collective_relative_deprivation Australia
QID122_23 collective_relative_deprivation collective_relative_deprivation Australia
QID557_1 identity_fusion identity_fusion United Kingdom
QID557_10 identity_fusion identity_fusion United Kingdom
QID557_11 identity_fusion identity_fusion United Kingdom
QID557_12 identity_fusion identity_fusion United Kingdom
QID557_13 identity_fusion identity_fusion United Kingdom
QID557_14 identity_fusion identity_fusion United Kingdom
QID557_15 identity_fusion identity_fusion United Kingdom
QID560_1 ingroup_superiority ingroup_superiority United Kingdom
QID560_13 ingroup_superiority ingroup_superiority United Kingdom
QID560_14 ingroup_superiority ingroup_superiority United Kingdom
QID560_15 ingroup_superiority ingroup_superiority United Kingdom
QID566_1 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID566_14 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID566_15 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID566_16 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID566_17 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID566_18 collective_relative_deprivation collective_relative_deprivation United Kingdom
QID590_1 identity_fusion identity_fusion Nigeria
QID590_16 identity_fusion identity_fusion Nigeria
QID590_17 identity_fusion identity_fusion Nigeria
QID590_18 identity_fusion identity_fusion Nigeria
QID590_19 identity_fusion identity_fusion Nigeria
QID590_20 identity_fusion identity_fusion Nigeria
QID590_21 identity_fusion identity_fusion Nigeria
QID678_1 collective_relative_deprivation collective_relative_deprivation Nigeria
QID678_19 collective_relative_deprivation collective_relative_deprivation Nigeria
QID678_20 collective_relative_deprivation collective_relative_deprivation Nigeria
QID678_21 collective_relative_deprivation collective_relative_deprivation Nigeria
QID678_22 collective_relative_deprivation collective_relative_deprivation Nigeria
QID678_23 collective_relative_deprivation collective_relative_deprivation Nigeria
QID853_1 identity_fusion identity_fusion US Democrats
QID853_16 identity_fusion identity_fusion US Democrats
QID853_17 identity_fusion identity_fusion US Democrats
QID853_18 identity_fusion identity_fusion US Democrats
QID853_19 identity_fusion identity_fusion US Democrats
QID853_20 identity_fusion identity_fusion US Democrats
QID853_21 identity_fusion identity_fusion US Democrats
QID855_1 identity_fusion identity_fusion US Republicans
QID855_16 identity_fusion identity_fusion US Republicans
QID855_17 identity_fusion identity_fusion US Republicans
QID855_18 identity_fusion identity_fusion US Republicans
QID855_19 identity_fusion identity_fusion US Republicans
QID855_20 identity_fusion identity_fusion US Republicans
QID855_21 identity_fusion identity_fusion US Republicans
QID857_1 ingroup_superiority ingroup_superiority US Democrats
QID857_16 ingroup_superiority ingroup_superiority US Democrats
QID857_17 ingroup_superiority ingroup_superiority US Democrats
QID857_18 ingroup_superiority ingroup_superiority US Democrats
QID859_1 ingroup_superiority ingroup_superiority US Republicans
QID859_16 ingroup_superiority ingroup_superiority US Republicans
QID859_17 ingroup_superiority ingroup_superiority US Republicans
QID859_18 ingroup_superiority ingroup_superiority US Republicans
QID869_1 collective_relative_deprivation collective_relative_deprivation US Democrats
QID869_19 collective_relative_deprivation collective_relative_deprivation US Democrats
QID869_20 collective_relative_deprivation collective_relative_deprivation US Democrats
QID869_21 collective_relative_deprivation collective_relative_deprivation US Democrats
QID869_22 collective_relative_deprivation collective_relative_deprivation US Democrats
QID869_23 collective_relative_deprivation collective_relative_deprivation US Democrats
QID871_1 collective_relative_deprivation collective_relative_deprivation US Republicans
QID871_19 collective_relative_deprivation collective_relative_deprivation US Republicans
QID871_20 collective_relative_deprivation collective_relative_deprivation US Republicans
QID871_21 collective_relative_deprivation collective_relative_deprivation US Republicans
QID871_22 collective_relative_deprivation collective_relative_deprivation US Republicans
QID871_23 collective_relative_deprivation collective_relative_deprivation US Republicans
QID909_1 ingroup_superiority ingroup_superiority Nigeria
QID909_22 ingroup_superiority ingroup_superiority Nigeria
QID909_23 ingroup_superiority ingroup_superiority Nigeria
QID909_24 ingroup_superiority ingroup_superiority Nigeria
QID73_1 radical_attitudes radical_attitudes general
QID73_4 radical_attitudes radical_attitudes general
QID73_5 radical_attitudes radical_attitudes general
QID191_1 identity_fusion identity_fusion Norway
QID191_22 identity_fusion identity_fusion Norway
QID191_23 identity_fusion identity_fusion Norway
QID191_24 identity_fusion identity_fusion Norway
QID191_25 identity_fusion identity_fusion Norway
QID191_26 identity_fusion identity_fusion Norway
QID191_27 identity_fusion identity_fusion Norway
QID193_1 ingroup_superiority ingroup_superiority Norway
QID193_13 ingroup_superiority ingroup_superiority Norway
QID193_14 ingroup_superiority ingroup_superiority Norway
QID193_16 ingroup_superiority ingroup_superiority Norway
QID248_1 collective_relative_deprivation collective_relative_deprivation Norway
QID248_13 collective_relative_deprivation collective_relative_deprivation Norway
QID248_14 collective_relative_deprivation collective_relative_deprivation Norway
QID248_15 collective_relative_deprivation collective_relative_deprivation Norway
QID248_16 collective_relative_deprivation collective_relative_deprivation Norway
QID248_17 collective_relative_deprivation collective_relative_deprivation Norway
QID517_1 intuition_logic intuition Sweden
QID517_51 intuition_logic logic Sweden
QID498_1 intuition_logic intuition Romania
QID498_45 intuition_logic logic Romania
QID492_1 ideological_passion harmonious_passion Romania
QID492_45 ideological_passion obsessive_passion Romania
QID492_46 ideological_passion harmonious_passion Romania
QID492_47 ideological_passion obsessive_passion Romania
QID492_48 ideological_passion harmonious_passion Romania
QID492_49 ideological_passion harmonious_passion Romania
QID492_50 ideological_passion obsessive_passion Romania
QID492_51 ideological_passion harmonious_passion Romania
QID492_52 ideological_passion obsessive_passion Romania
QID492_53 ideological_passion harmonious_passion Romania
QID492_54 ideological_passion obsessive_passion Romania
QID492_55 ideological_passion obsessive_passion Romania
QID492_56 ideological_passion commitment_passion Romania
QID492_57 ideological_passion commitment_passion Romania
QID492_58 ideological_passion commitment_passion Romania
QID492_59 ideological_passion commitment_passion Romania
QID454_24 ideological_passion harmonious_passion Austria
QID454_58 ideological_passion obsessive_passion Austria
QID454_59 ideological_passion harmonious_passion Austria
QID454_60 ideological_passion obsessive_passion Austria
QID454_61 ideological_passion harmonious_passion Austria
QID454_62 ideological_passion harmonious_passion Austria
QID454_63 ideological_passion obsessive_passion Austria
QID454_64 ideological_passion harmonious_passion Austria
QID454_65 ideological_passion obsessive_passion Austria
QID454_66 ideological_passion harmonious_passion Austria
QID454_67 ideological_passion obsessive_passion Austria
QID454_68 ideological_passion obsessive_passion Austria
QID454_69 ideological_passion commitment_passion Austria
QID454_70 ideological_passion commitment_passion Austria
QID454_71 ideological_passion commitment_passion Austria
QID454_72 ideological_passion commitment_passion Austria
QID161_24 ideological_passion harmonious_passion Germany
QID161_58 ideological_passion obsessive_passion Germany
QID161_59 ideological_passion harmonious_passion Germany
QID161_60 ideological_passion obsessive_passion Germany
QID161_61 ideological_passion harmonious_passion Germany
QID161_62 ideological_passion harmonious_passion Germany
QID161_63 ideological_passion obsessive_passion Germany
QID161_64 ideological_passion harmonious_passion Germany
QID161_65 ideological_passion obsessive_passion Germany
QID161_66 ideological_passion harmonious_passion Germany
QID161_67 ideological_passion obsessive_passion Germany
QID161_68 ideological_passion obsessive_passion Germany
QID161_69 ideological_passion commitment_passion Germany
QID161_70 ideological_passion commitment_passion Germany
QID161_71 ideological_passion commitment_passion Germany
QID161_72 ideological_passion commitment_passion Germany
QID151_1 identity_fusion identity_fusion Germany
QID151_16 identity_fusion identity_fusion Germany
QID151_17 identity_fusion identity_fusion Germany
QID151_18 identity_fusion identity_fusion Germany
QID151_19 identity_fusion identity_fusion Germany
QID151_20 identity_fusion identity_fusion Germany
QID151_21 identity_fusion identity_fusion Germany
QID153_1 ingroup_superiority ingroup_superiority Germany
QID153_16 ingroup_superiority ingroup_superiority Germany
QID153_17 ingroup_superiority ingroup_superiority Germany
QID153_18 ingroup_superiority ingroup_superiority Germany
QID159_1 collective_relative_deprivation collective_relative_deprivation Germany
QID159_19 collective_relative_deprivation collective_relative_deprivation Germany
QID159_20 collective_relative_deprivation collective_relative_deprivation Germany
QID159_21 collective_relative_deprivation collective_relative_deprivation Germany
QID159_22 collective_relative_deprivation collective_relative_deprivation Germany
QID159_23 collective_relative_deprivation collective_relative_deprivation Germany
QID444_1 identity_fusion identity_fusion Austria
QID444_16 identity_fusion identity_fusion Austria
QID444_17 identity_fusion identity_fusion Austria
QID444_18 identity_fusion identity_fusion Austria
QID444_19 identity_fusion identity_fusion Austria
QID444_20 identity_fusion identity_fusion Austria
QID444_21 identity_fusion identity_fusion Austria
QID446_1 ingroup_superiority ingroup_superiority Austria
QID446_16 ingroup_superiority ingroup_superiority Austria
QID446_17 ingroup_superiority ingroup_superiority Austria
QID446_18 ingroup_superiority ingroup_superiority Austria
QID452_1 collective_relative_deprivation collective_relative_deprivation Austria
QID452_19 collective_relative_deprivation collective_relative_deprivation Austria
QID452_20 collective_relative_deprivation collective_relative_deprivation Austria
QID452_21 collective_relative_deprivation collective_relative_deprivation Austria
QID452_22 collective_relative_deprivation collective_relative_deprivation Austria
QID452_23 collective_relative_deprivation collective_relative_deprivation Austria
QID136_1 perceived_discrimination perceived_discrimination Netherlands
QID136_34 perceived_discrimination perceived_discrimination Netherlands
QID136_35 perceived_discrimination perceived_discrimination Netherlands
QID136_36 perceived_discrimination perceived_discrimination Netherlands
QID136_37 perceived_discrimination perceived_discrimination Netherlands
QID136_38 perceived_discrimination perceived_discrimination Netherlands
QID136_39 perceived_discrimination perceived_discrimination Netherlands
QID136_40 perceived_discrimination perceived_discrimination Netherlands
QID136_41 perceived_discrimination perceived_discrimination Netherlands
QID136_42 perceived_discrimination perceived_discrimination Netherlands
QID136_43 perceived_discrimination perceived_discrimination Netherlands
QID138_1 activist_intent activist_intent Netherlands
QID138_13 activist_intent activist_intent Netherlands
QID138_14 activist_intent activist_intent Netherlands
QID138_15 activist_intent activist_intent Netherlands
QID142_24 ideological_passion harmonious_passion Netherlands
QID142_73 ideological_passion obsessive_passion Netherlands
QID142_74 ideological_passion harmonious_passion Netherlands
QID142_75 ideological_passion obsessive_passion Netherlands
QID142_76 ideological_passion harmonious_passion Netherlands
QID142_77 ideological_passion harmonious_passion Netherlands
QID142_78 ideological_passion obsessive_passion Netherlands
QID142_79 ideological_passion harmonious_passion Netherlands
QID142_80 ideological_passion obsessive_passion Netherlands
QID142_81 ideological_passion harmonious_passion Netherlands
QID142_82 ideological_passion obsessive_passion Netherlands
QID142_83 ideological_passion obsessive_passion Netherlands
QID142_84 ideological_passion commitment_passion Netherlands
QID142_85 ideological_passion commitment_passion Netherlands
QID142_86 ideological_passion commitment_passion Netherlands
QID142_87 ideological_passion commitment_passion Netherlands
QID146_1 past_activism past_activism Netherlands
QID146_13 past_activism past_activism Netherlands
QID146_14 past_activism past_activism Netherlands
QID146_15 past_activism past_activism Netherlands
QID132_1 identity_fusion identity_fusion Netherlands
QID132_22 identity_fusion identity_fusion Netherlands
QID132_23 identity_fusion identity_fusion Netherlands
QID132_24 identity_fusion identity_fusion Netherlands
QID132_25 identity_fusion identity_fusion Netherlands
QID132_26 identity_fusion identity_fusion Netherlands
QID132_27 identity_fusion identity_fusion Netherlands
QID134_1 ingroup_superiority ingroup_superiority Netherlands
QID134_22 ingroup_superiority ingroup_superiority Netherlands
QID134_23 ingroup_superiority ingroup_superiority Netherlands
QID134_24 ingroup_superiority ingroup_superiority Netherlands
QID140_1 collective_relative_deprivation collective_relative_deprivation Netherlands
QID140_24 collective_relative_deprivation collective_relative_deprivation Netherlands
QID140_25 collective_relative_deprivation collective_relative_deprivation Netherlands
QID140_26 collective_relative_deprivation collective_relative_deprivation Netherlands
QID140_27 collective_relative_deprivation collective_relative_deprivation Netherlands
QID140_28 collective_relative_deprivation collective_relative_deprivation Netherlands
QID348_1 intuition_logic intuition Hungary
QID348_104 intuition_logic logic Hungary
QID416_1 ideological_passion harmonious_passion Philippines
QID416_140 ideological_passion obsessive_passion Philippines
QID416_141 ideological_passion harmonious_passion Philippines
QID416_142 ideological_passion obsessive_passion Philippines
QID416_143 ideological_passion harmonious_passion Philippines
QID416_144 ideological_passion harmonious_passion Philippines
QID416_145 ideological_passion obsessive_passion Philippines
QID416_146 ideological_passion harmonious_passion Philippines
QID416_147 ideological_passion obsessive_passion Philippines
QID416_148 ideological_passion harmonious_passion Philippines
QID416_149 ideological_passion obsessive_passion Philippines
QID416_150 ideological_passion obsessive_passion Philippines
QID416_151 ideological_passion commitment_passion Philippines
QID416_152 ideological_passion commitment_passion Philippines
QID416_153 ideological_passion commitment_passion Philippines
QID416_154 ideological_passion commitment_passion Philippines
QID418_1 radical_intentions violent_intent Philippines
QID418_155 radical_intentions violent_intent Philippines
QID418_156 radical_intentions violent_intent Philippines
QID418_157 radical_intentions violent_intent Philippines
QID418_159 radical_intentions violent_intent Philippines
QID418_160 radical_intentions peaceful_intent Philippines
QID418_161 radical_intentions peaceful_intent Philippines
QID418_162 radical_intentions peaceful_intent Philippines
QID418_163 radical_intentions peaceful_intent Philippines
QID418_164 radical_intentions peaceful_intent Philippines
QID418_165 radical_intentions peaceful_intent Philippines
QID242_1 radical_intentions violent_intent Norway
QID242_27 radical_intentions violent_intent Norway
QID242_28 radical_intentions violent_intent Norway
QID242_29 radical_intentions violent_intent Norway
QID242_31 radical_intentions violent_intent Norway
QID242_32 radical_intentions peaceful_intent Norway
QID242_33 radical_intentions peaceful_intent Norway
QID242_34 radical_intentions peaceful_intent Norway
QID242_35 radical_intentions peaceful_intent Norway
QID242_36 radical_intentions peaceful_intent Norway
QID242_37 radical_intentions peaceful_intent Norway
QID287_1 radical_intentions violent_intent Denmark
QID287_56 radical_intentions violent_intent Denmark
QID287_57 radical_intentions violent_intent Denmark
QID287_58 radical_intentions violent_intent Denmark
QID287_60 radical_intentions violent_intent Denmark
QID287_61 radical_intentions peaceful_intent Denmark
QID287_62 radical_intentions peaceful_intent Denmark
QID287_63 radical_intentions peaceful_intent Denmark
QID287_64 radical_intentions peaceful_intent Denmark
QID287_65 radical_intentions peaceful_intent Denmark
QID287_66 radical_intentions peaceful_intent Denmark
QID513_1 radical_intentions violent_intent Sweden
QID513_66 radical_intentions violent_intent Sweden
QID513_67 radical_intentions violent_intent Sweden
QID513_68 radical_intentions violent_intent Sweden
QID513_70 radical_intentions violent_intent Sweden
QID513_71 radical_intentions peaceful_intent Sweden
QID513_72 radical_intentions peaceful_intent Sweden
QID513_73 radical_intentions peaceful_intent Sweden
QID513_74 radical_intentions peaceful_intent Sweden
QID513_75 radical_intentions peaceful_intent Sweden
QID513_76 radical_intentions peaceful_intent Sweden
QID181_1 radical_intentions violent_intent Italy
QID181_25 radical_intentions violent_intent Italy
QID181_26 radical_intentions violent_intent Italy
QID181_27 radical_intentions violent_intent Italy
QID181_29 radical_intentions violent_intent Italy
QID181_30 radical_intentions peaceful_intent Italy
QID181_31 radical_intentions peaceful_intent Italy
QID181_32 radical_intentions peaceful_intent Italy
QID181_33 radical_intentions peaceful_intent Italy
QID181_34 radical_intentions peaceful_intent Italy
QID181_35 radical_intentions peaceful_intent Italy
QID144_1 radical_intentions violent_intent Netherlands
QID144_36 radical_intentions violent_intent Netherlands
QID144_37 radical_intentions violent_intent Netherlands
QID144_38 radical_intentions violent_intent Netherlands
QID144_40 radical_intentions violent_intent Netherlands
QID144_41 radical_intentions peaceful_intent Netherlands
QID144_42 radical_intentions peaceful_intent Netherlands
QID144_43 radical_intentions peaceful_intent Netherlands
QID144_44 radical_intentions peaceful_intent Netherlands
QID144_45 radical_intentions peaceful_intent Netherlands
QID144_46 radical_intentions peaceful_intent Netherlands
QID496_1 past_activism past_activism Romania
QID496_13 past_activism past_activism Romania
QID496_14 past_activism past_activism Romania
QID496_15 past_activism past_activism Romania
QID183_1 past_activism past_activism Italy
QID183_10 past_activism past_activism Italy
QID183_11 past_activism past_activism Italy
QID183_12 past_activism past_activism Italy
QID230_1 past_activism past_activism Portugal
QID230_10 past_activism past_activism Portugal
QID230_11 past_activism past_activism Portugal
QID230_12 past_activism past_activism Portugal
QID832_1 past_activism past_activism Argentina
QID832_10 past_activism past_activism Argentina
QID832_11 past_activism past_activism Argentina
QID832_12 past_activism past_activism Argentina
QID836_1 past_activism past_activism Mexico
QID836_10 past_activism past_activism Mexico
QID836_11 past_activism past_activism Mexico
QID836_12 past_activism past_activism Mexico
QID834_1 past_activism past_activism Colombia
QID834_10 past_activism past_activism Colombia
QID834_11 past_activism past_activism Colombia
QID834_12 past_activism past_activism Colombia
QID838_1 past_activism past_activism Spain
QID838_10 past_activism past_activism Spain
QID838_11 past_activism past_activism Spain
QID838_12 past_activism past_activism Spain
QID456_1 radical_intentions violent_intent Austria
QID456_25 radical_intentions violent_intent Austria
QID456_26 radical_intentions violent_intent Austria
QID456_27 radical_intentions violent_intent Austria
QID456_29 radical_intentions violent_intent Austria
QID456_30 radical_intentions peaceful_intent Austria
QID456_31 radical_intentions peaceful_intent Austria
QID456_32 radical_intentions peaceful_intent Austria
QID456_33 radical_intentions peaceful_intent Austria
QID456_34 radical_intentions peaceful_intent Austria
QID456_35 radical_intentions peaceful_intent Austria
QID456_36 radical_intentions radical_intentions Austria
QID163_1 radical_intentions violent_intent Germany
QID163_25 radical_intentions violent_intent Germany
QID163_26 radical_intentions violent_intent Germany
QID163_27 radical_intentions violent_intent Germany
QID163_29 radical_intentions violent_intent Germany
QID163_30 radical_intentions peaceful_intent Germany
QID163_31 radical_intentions peaceful_intent Germany
QID163_32 radical_intentions peaceful_intent Germany
QID163_33 radical_intentions peaceful_intent Germany
QID163_34 radical_intentions peaceful_intent Germany
QID163_35 radical_intentions peaceful_intent Germany
QID422_1 intuition_logic intuition Philippines
QID422_140 intuition_logic logic Philippines
QID329_1 intuition_logic intuition Greece
QID329_71 intuition_logic logic Greece
QID323_1 ideological_passion harmonious_passion Greece
QID323_56 ideological_passion obsessive_passion Greece
QID323_57 ideological_passion harmonious_passion Greece
QID323_58 ideological_passion obsessive_passion Greece
QID323_59 ideological_passion harmonious_passion Greece
QID323_60 ideological_passion harmonious_passion Greece
QID323_61 ideological_passion obsessive_passion Greece
QID323_62 ideological_passion harmonious_passion Greece
QID323_63 ideological_passion obsessive_passion Greece
QID323_64 ideological_passion harmonious_passion Greece
QID323_65 ideological_passion obsessive_passion Greece
QID323_66 ideological_passion obsessive_passion Greece
QID323_67 ideological_passion commitment_passion Greece
QID323_68 ideological_passion commitment_passion Greece
QID323_69 ideological_passion commitment_passion Greece
QID323_70 ideological_passion commitment_passion Greece
QID325_1 radical_intentions violent_intent Greece
QID325_71 radical_intentions violent_intent Greece
QID325_72 radical_intentions violent_intent Greece
QID325_73 radical_intentions violent_intent Greece
QID325_75 radical_intentions violent_intent Greece
QID325_76 radical_intentions peaceful_intent Greece
QID325_77 radical_intentions peaceful_intent Greece
QID325_78 radical_intentions peaceful_intent Greece
QID325_79 radical_intentions peaceful_intent Greece
QID325_80 radical_intentions peaceful_intent Greece
QID325_81 radical_intentions peaceful_intent Greece
QID327_1 past_activism past_activism Greece
QID327_22 past_activism past_activism Greece
QID327_23 past_activism past_activism Greece
QID327_24 past_activism past_activism Greece
QID317_1 perceived_discrimination perceived_discrimination Greece
QID317_48 perceived_discrimination perceived_discrimination Greece
QID317_49 perceived_discrimination perceived_discrimination Greece
QID317_50 perceived_discrimination perceived_discrimination Greece
QID317_51 perceived_discrimination perceived_discrimination Greece
QID317_52 perceived_discrimination perceived_discrimination Greece
QID317_53 perceived_discrimination perceived_discrimination Greece
QID317_54 perceived_discrimination perceived_discrimination Greece
QID317_55 perceived_discrimination perceived_discrimination Greece
QID317_56 perceived_discrimination perceived_discrimination Greece
QID317_57 perceived_discrimination perceived_discrimination Greece
QID319_1 activist_intent activist_intent Greece
QID319_48 activist_intent activist_intent Greece
QID319_49 activist_intent activist_intent Greece
QID319_50 activist_intent activist_intent Greece
QID313_1 identity_fusion identity_fusion Greece
QID313_39 identity_fusion identity_fusion Greece
QID313_40 identity_fusion identity_fusion Greece
QID313_41 identity_fusion identity_fusion Greece
QID313_42 identity_fusion identity_fusion Greece
QID313_43 identity_fusion identity_fusion Greece
QID313_44 identity_fusion identity_fusion Greece
QID315_1 ingroup_superiority ingroup_superiority Greece
QID315_45 ingroup_superiority ingroup_superiority Greece
QID315_46 ingroup_superiority ingroup_superiority Greece
QID315_47 ingroup_superiority ingroup_superiority Greece
QID321_1 collective_relative_deprivation collective_relative_deprivation Greece
QID321_51 collective_relative_deprivation collective_relative_deprivation Greece
QID321_52 collective_relative_deprivation collective_relative_deprivation Greece
QID321_53 collective_relative_deprivation collective_relative_deprivation Greece
QID321_54 collective_relative_deprivation collective_relative_deprivation Greece
QID321_55 collective_relative_deprivation collective_relative_deprivation Greece
QID332_1 identity_fusion identity_fusion Hungary
QID332_72 identity_fusion identity_fusion Hungary
QID332_73 identity_fusion identity_fusion Hungary
QID332_74 identity_fusion identity_fusion Hungary
QID332_75 identity_fusion identity_fusion Hungary
QID332_76 identity_fusion identity_fusion Hungary
QID332_77 identity_fusion identity_fusion Hungary
QID334_1 ingroup_superiority ingroup_superiority Hungary
QID334_78 ingroup_superiority ingroup_superiority Hungary
QID334_79 ingroup_superiority ingroup_superiority Hungary
QID334_80 ingroup_superiority ingroup_superiority Hungary
QID340_1 collective_relative_deprivation collective_relative_deprivation Hungary
QID340_84 collective_relative_deprivation collective_relative_deprivation Hungary
QID340_85 collective_relative_deprivation collective_relative_deprivation Hungary
QID340_86 collective_relative_deprivation collective_relative_deprivation Hungary
QID340_87 collective_relative_deprivation collective_relative_deprivation Hungary
QID340_88 collective_relative_deprivation collective_relative_deprivation Hungary
QID338_1 activist_intent activist_intent Hungary
QID338_81 activist_intent activist_intent Hungary
QID338_82 activist_intent activist_intent Hungary
QID338_83 activist_intent activist_intent Hungary
QID336_1 perceived_discrimination perceived_discrimination Hungary
QID336_81 perceived_discrimination perceived_discrimination Hungary
QID336_82 perceived_discrimination perceived_discrimination Hungary
QID336_83 perceived_discrimination perceived_discrimination Hungary
QID336_84 perceived_discrimination perceived_discrimination Hungary
QID336_85 perceived_discrimination perceived_discrimination Hungary
QID336_86 perceived_discrimination perceived_discrimination Hungary
QID336_87 perceived_discrimination perceived_discrimination Hungary
QID336_88 perceived_discrimination perceived_discrimination Hungary
QID336_89 perceived_discrimination perceived_discrimination Hungary
QID336_90 perceived_discrimination perceived_discrimination Hungary
QID346_1 past_activism past_activism Hungary
QID346_25 past_activism past_activism Hungary
QID346_26 past_activism past_activism Hungary
QID346_27 past_activism past_activism Hungary
QID272_1 ideological_passion harmonious_passion Czech
QID272_38 ideological_passion obsessive_passion Czech
QID272_39 ideological_passion harmonious_passion Czech
QID272_40 ideological_passion obsessive_passion Czech
QID272_41 ideological_passion harmonious_passion Czech
QID272_42 ideological_passion harmonious_passion Czech
QID272_43 ideological_passion obsessive_passion Czech
QID272_44 ideological_passion harmonious_passion Czech
QID272_45 ideological_passion obsessive_passion Czech
QID272_46 ideological_passion harmonious_passion Czech
QID272_47 ideological_passion obsessive_passion Czech
QID272_48 ideological_passion obsessive_passion Czech
QID272_49 ideological_passion commitment_passion Czech
QID272_50 ideological_passion commitment_passion Czech
QID272_51 ideological_passion commitment_passion Czech
QID272_52 ideological_passion commitment_passion Czech
QID304_1 ideological_passion harmonious_passion Finland
QID304_50 ideological_passion obsessive_passion Finland
QID304_51 ideological_passion harmonious_passion Finland
QID304_52 ideological_passion obsessive_passion Finland
QID304_53 ideological_passion harmonious_passion Finland
QID304_54 ideological_passion harmonious_passion Finland
QID304_55 ideological_passion obsessive_passion Finland
QID304_56 ideological_passion harmonious_passion Finland
QID304_57 ideological_passion obsessive_passion Finland
QID304_58 ideological_passion harmonious_passion Finland
QID304_59 ideological_passion obsessive_passion Finland
QID304_60 ideological_passion obsessive_passion Finland
QID304_61 ideological_passion commitment_passion Finland
QID304_62 ideological_passion commitment_passion Finland
QID304_63 ideological_passion commitment_passion Finland
QID304_64 ideological_passion commitment_passion Finland
QID308_1 past_activism past_activism Finland
QID308_19 past_activism past_activism Finland
QID308_20 past_activism past_activism Finland
QID308_21 past_activism past_activism Finland
QID306_1 radical_intentions violent_intent Finland
QID306_65 radical_intentions violent_intent Finland
QID306_66 radical_intentions violent_intent Finland
QID306_67 radical_intentions violent_intent Finland
QID306_69 radical_intentions violent_intent Finland
QID306_70 radical_intentions peaceful_intent Finland
QID306_71 radical_intentions peaceful_intent Finland
QID306_72 radical_intentions peaceful_intent Finland
QID306_73 radical_intentions peaceful_intent Finland
QID306_74 radical_intentions peaceful_intent Finland
QID306_75 radical_intentions peaceful_intent Finland
QID545_1 activist_intent activist_intent Turkey
QID545_55 activist_intent activist_intent Turkey
QID545_56 activist_intent activist_intent Turkey
QID545_57 activist_intent activist_intent Turkey
QID553_1 past_activism past_activism Turkey
QID553_22 past_activism past_activism Turkey
QID553_23 past_activism past_activism Turkey
QID553_24 past_activism past_activism Turkey
QID543_1 perceived_discrimination perceived_discrimination Turkey
QID543_55 perceived_discrimination perceived_discrimination Turkey
QID543_56 perceived_discrimination perceived_discrimination Turkey
QID543_57 perceived_discrimination perceived_discrimination Turkey
QID543_58 perceived_discrimination perceived_discrimination Turkey
QID543_59 perceived_discrimination perceived_discrimination Turkey
QID543_60 perceived_discrimination perceived_discrimination Turkey
QID543_61 perceived_discrimination perceived_discrimination Turkey
QID543_62 perceived_discrimination perceived_discrimination Turkey
QID543_63 perceived_discrimination perceived_discrimination Turkey
QID543_64 perceived_discrimination perceived_discrimination Turkey
QID816_24 ideological_passion harmonious_passion Argentina
QID816_58 ideological_passion obsessive_passion Argentina
QID816_59 ideological_passion harmonious_passion Argentina
QID816_60 ideological_passion obsessive_passion Argentina
QID816_61 ideological_passion harmonious_passion Argentina
QID816_62 ideological_passion harmonious_passion Argentina
QID816_63 ideological_passion obsessive_passion Argentina
QID816_64 ideological_passion harmonious_passion Argentina
QID816_65 ideological_passion obsessive_passion Argentina
QID816_66 ideological_passion harmonious_passion Argentina
QID816_67 ideological_passion obsessive_passion Argentina
QID816_68 ideological_passion obsessive_passion Argentina
QID816_69 ideological_passion commitment_passion Argentina
QID816_70 ideological_passion commitment_passion Argentina
QID816_71 ideological_passion commitment_passion Argentina
QID816_72 ideological_passion commitment_passion Argentina
QID820_24 ideological_passion harmonious_passion Mexico
QID820_58 ideological_passion obsessive_passion Mexico
QID820_59 ideological_passion harmonious_passion Mexico
QID820_60 ideological_passion obsessive_passion Mexico
QID820_61 ideological_passion harmonious_passion Mexico
QID820_62 ideological_passion harmonious_passion Mexico
QID820_63 ideological_passion obsessive_passion Mexico
QID820_64 ideological_passion harmonious_passion Mexico
QID820_65 ideological_passion obsessive_passion Mexico
QID820_66 ideological_passion harmonious_passion Mexico
QID820_67 ideological_passion obsessive_passion Mexico
QID820_68 ideological_passion obsessive_passion Mexico
QID820_69 ideological_passion commitment_passion Mexico
QID820_70 ideological_passion commitment_passion Mexico
QID820_71 ideological_passion commitment_passion Mexico
QID820_72 ideological_passion commitment_passion Mexico
QID818_24 ideological_passion harmonious_passion Colombia
QID818_58 ideological_passion obsessive_passion Colombia
QID818_59 ideological_passion harmonious_passion Colombia
QID818_60 ideological_passion obsessive_passion Colombia
QID818_61 ideological_passion harmonious_passion Colombia
QID818_62 ideological_passion harmonious_passion Colombia
QID818_63 ideological_passion obsessive_passion Colombia
QID818_64 ideological_passion harmonious_passion Colombia
QID818_65 ideological_passion obsessive_passion Colombia
QID818_66 ideological_passion harmonious_passion Colombia
QID818_67 ideological_passion obsessive_passion Colombia
QID818_68 ideological_passion obsessive_passion Colombia
QID818_69 ideological_passion commitment_passion Colombia
QID818_70 ideological_passion commitment_passion Colombia
QID818_71 ideological_passion commitment_passion Colombia
QID818_72 ideological_passion commitment_passion Colombia
QID822_24 ideological_passion harmonious_passion Spain
QID822_58 ideological_passion obsessive_passion Spain
QID822_59 ideological_passion harmonious_passion Spain
QID822_60 ideological_passion obsessive_passion Spain
QID822_61 ideological_passion harmonious_passion Spain
QID822_62 ideological_passion harmonious_passion Spain
QID822_63 ideological_passion obsessive_passion Spain
QID822_64 ideological_passion harmonious_passion Spain
QID822_65 ideological_passion obsessive_passion Spain
QID822_66 ideological_passion harmonious_passion Spain
QID822_67 ideological_passion obsessive_passion Spain
QID822_68 ideological_passion obsessive_passion Spain
QID822_69 ideological_passion commitment_passion Spain
QID822_70 ideological_passion commitment_passion Spain
QID822_71 ideological_passion commitment_passion Spain
QID822_72 ideological_passion commitment_passion Spain
QID344_1 radical_intentions violent_intent Hungary
QID344_104 radical_intentions violent_intent Hungary
QID344_105 radical_intentions violent_intent Hungary
QID344_106 radical_intentions violent_intent Hungary
QID344_108 radical_intentions violent_intent Hungary
QID344_109 radical_intentions peaceful_intent Hungary
QID344_110 radical_intentions peaceful_intent Hungary
QID344_111 radical_intentions peaceful_intent Hungary
QID344_112 radical_intentions peaceful_intent Hungary
QID344_113 radical_intentions peaceful_intent Hungary
QID344_114 radical_intentions peaceful_intent Hungary
QID473_1 ideological_passion harmonious_passion Poland
QID473_54 ideological_passion obsessive_passion Poland
QID473_55 ideological_passion harmonious_passion Poland
QID473_56 ideological_passion obsessive_passion Poland
QID473_57 ideological_passion harmonious_passion Poland
QID473_58 ideological_passion harmonious_passion Poland
QID473_59 ideological_passion obsessive_passion Poland
QID473_60 ideological_passion harmonious_passion Poland
QID473_61 ideological_passion obsessive_passion Poland
QID473_62 ideological_passion harmonious_passion Poland
QID473_63 ideological_passion obsessive_passion Poland
QID473_64 ideological_passion obsessive_passion Poland
QID473_65 ideological_passion commitment_passion Poland
QID473_66 ideological_passion commitment_passion Poland
QID473_67 ideological_passion commitment_passion Poland
QID473_68 ideological_passion commitment_passion Poland
QID285_1 ideological_passion harmonious_passion Denmark
QID285_41 ideological_passion obsessive_passion Denmark
QID285_42 ideological_passion harmonious_passion Denmark
QID285_43 ideological_passion obsessive_passion Denmark
QID285_44 ideological_passion harmonious_passion Denmark
QID285_45 ideological_passion harmonious_passion Denmark
QID285_46 ideological_passion obsessive_passion Denmark
QID285_47 ideological_passion harmonious_passion Denmark
QID285_48 ideological_passion obsessive_passion Denmark
QID285_49 ideological_passion harmonious_passion Denmark
QID285_50 ideological_passion obsessive_passion Denmark
QID285_51 ideological_passion obsessive_passion Denmark
QID285_52 ideological_passion commitment_passion Denmark
QID285_53 ideological_passion commitment_passion Denmark
QID285_54 ideological_passion commitment_passion Denmark
QID285_55 ideological_passion commitment_passion Denmark
QID249_1 ideological_passion harmonious_passion Norway
QID249_18 ideological_passion obsessive_passion Norway
QID249_19 ideological_passion harmonious_passion Norway
QID249_20 ideological_passion obsessive_passion Norway
QID249_21 ideological_passion harmonious_passion Norway
QID249_22 ideological_passion harmonious_passion Norway
QID249_23 ideological_passion obsessive_passion Norway
QID249_24 ideological_passion harmonious_passion Norway
QID249_25 ideological_passion obsessive_passion Norway
QID249_26 ideological_passion harmonious_passion Norway
QID249_27 ideological_passion obsessive_passion Norway
QID249_28 ideological_passion obsessive_passion Norway
QID249_29 ideological_passion commitment_passion Norway
QID249_30 ideological_passion commitment_passion Norway
QID249_31 ideological_passion commitment_passion Norway
QID249_32 ideological_passion commitment_passion Norway
QID467_1 perceived_discrimination perceived_discrimination Poland
QID467_31 perceived_discrimination perceived_discrimination Poland
QID467_32 perceived_discrimination perceived_discrimination Poland
QID467_33 perceived_discrimination perceived_discrimination Poland
QID467_34 perceived_discrimination perceived_discrimination Poland
QID467_35 perceived_discrimination perceived_discrimination Poland
QID467_36 perceived_discrimination perceived_discrimination Poland
QID467_37 perceived_discrimination perceived_discrimination Poland
QID467_38 perceived_discrimination perceived_discrimination Poland
QID467_39 perceived_discrimination perceived_discrimination Poland
QID467_40 perceived_discrimination perceived_discrimination Poland
QID469_1 activist_intent activist_intent Poland
QID469_31 activist_intent activist_intent Poland
QID469_32 activist_intent activist_intent Poland
QID469_33 activist_intent activist_intent Poland
QID270_1 activist_intent activist_intent Czech
QID270_30 activist_intent activist_intent Czech
QID270_31 activist_intent activist_intent Czech
QID270_32 activist_intent activist_intent Czech
QID254_1 perceived_discrimination perceived_discrimination Czech
QID254_34 perceived_discrimination perceived_discrimination Czech
QID254_35 perceived_discrimination perceived_discrimination Czech
QID254_36 perceived_discrimination perceived_discrimination Czech
QID254_37 perceived_discrimination perceived_discrimination Czech
QID254_38 perceived_discrimination perceived_discrimination Czech
QID254_39 perceived_discrimination perceived_discrimination Czech
QID254_40 perceived_discrimination perceived_discrimination Czech
QID254_41 perceived_discrimination perceived_discrimination Czech
QID254_42 perceived_discrimination perceived_discrimination Czech
QID254_43 perceived_discrimination perceived_discrimination Czech
QID410_1 perceived_discrimination perceived_discrimination Philippines
QID410_132 perceived_discrimination perceived_discrimination Philippines
QID410_133 perceived_discrimination perceived_discrimination Philippines
QID410_134 perceived_discrimination perceived_discrimination Philippines
QID410_135 perceived_discrimination perceived_discrimination Philippines
QID410_136 perceived_discrimination perceived_discrimination Philippines
QID410_137 perceived_discrimination perceived_discrimination Philippines
QID410_138 perceived_discrimination perceived_discrimination Philippines
QID410_139 perceived_discrimination perceived_discrimination Philippines
QID410_140 perceived_discrimination perceived_discrimination Philippines
QID410_141 perceived_discrimination perceived_discrimination Philippines
QID412_1 activist_intent activist_intent Philippines
QID412_132 activist_intent activist_intent Philippines
QID412_133 activist_intent activist_intent Philippines
QID412_134 activist_intent activist_intent Philippines
QID420_1 past_activism past_activism Philippines
QID420_37 past_activism past_activism Philippines
QID420_38 past_activism past_activism Philippines
QID420_39 past_activism past_activism Philippines
QID216_1 identity_fusion identity_fusion Portugal
QID216_10 identity_fusion identity_fusion Portugal
QID216_16 identity_fusion identity_fusion Portugal
QID216_17 identity_fusion identity_fusion Portugal
QID216_18 identity_fusion identity_fusion Portugal
QID216_19 identity_fusion identity_fusion Portugal
QID216_20 identity_fusion identity_fusion Portugal
QID218_1 ingroup_superiority ingroup_superiority Portugal
QID218_16 ingroup_superiority ingroup_superiority Portugal
QID218_17 ingroup_superiority ingroup_superiority Portugal
QID218_18 ingroup_superiority ingroup_superiority Portugal
QID224_1 collective_relative_deprivation collective_relative_deprivation Portugal
QID224_19 collective_relative_deprivation collective_relative_deprivation Portugal
QID224_20 collective_relative_deprivation collective_relative_deprivation Portugal
QID224_21 collective_relative_deprivation collective_relative_deprivation Portugal
QID224_22 collective_relative_deprivation collective_relative_deprivation Portugal
QID224_23 collective_relative_deprivation collective_relative_deprivation Portugal
QID197_1 identity_fusion identity_fusion Brazil
QID197_10 identity_fusion identity_fusion Brazil
QID197_16 identity_fusion identity_fusion Brazil
QID197_17 identity_fusion identity_fusion Brazil
QID197_18 identity_fusion identity_fusion Brazil
QID197_19 identity_fusion identity_fusion Brazil
QID197_20 identity_fusion identity_fusion Brazil
QID199_1 ingroup_superiority ingroup_superiority Brazil
QID199_16 ingroup_superiority ingroup_superiority Brazil
QID199_17 ingroup_superiority ingroup_superiority Brazil
QID199_18 ingroup_superiority ingroup_superiority Brazil
QID205_1 collective_relative_deprivation collective_relative_deprivation Brazil
QID205_19 collective_relative_deprivation collective_relative_deprivation Brazil
QID205_20 collective_relative_deprivation collective_relative_deprivation Brazil
QID205_21 collective_relative_deprivation collective_relative_deprivation Brazil
QID205_22 collective_relative_deprivation collective_relative_deprivation Brazil
QID205_23 collective_relative_deprivation collective_relative_deprivation Brazil
QID776_1 identity_fusion identity_fusion Argentina
QID776_16 identity_fusion identity_fusion Argentina
QID776_17 identity_fusion identity_fusion Argentina
QID776_18 identity_fusion identity_fusion Argentina
QID776_19 identity_fusion identity_fusion Argentina
QID776_20 identity_fusion identity_fusion Argentina
QID776_21 identity_fusion identity_fusion Argentina
QID778_1 identity_fusion identity_fusion Colombia
QID778_16 identity_fusion identity_fusion Colombia
QID778_17 identity_fusion identity_fusion Colombia
QID778_18 identity_fusion identity_fusion Colombia
QID778_19 identity_fusion identity_fusion Colombia
QID778_20 identity_fusion identity_fusion Colombia
QID778_21 identity_fusion identity_fusion Colombia
QID780_1 identity_fusion identity_fusion Mexico
QID780_16 identity_fusion identity_fusion Mexico
QID780_17 identity_fusion identity_fusion Mexico
QID780_18 identity_fusion identity_fusion Mexico
QID780_19 identity_fusion identity_fusion Mexico
QID780_20 identity_fusion identity_fusion Mexico
QID780_21 identity_fusion identity_fusion Mexico
QID782_1 identity_fusion identity_fusion Spain
QID782_16 identity_fusion identity_fusion Spain
QID782_17 identity_fusion identity_fusion Spain
QID782_18 identity_fusion identity_fusion Spain
QID782_19 identity_fusion identity_fusion Spain
QID782_20 identity_fusion identity_fusion Spain
QID782_21 identity_fusion identity_fusion Spain
QID784_1 ingroup_superiority ingroup_superiority Argentina
QID784_16 ingroup_superiority ingroup_superiority Argentina
QID784_17 ingroup_superiority ingroup_superiority Argentina
QID784_18 ingroup_superiority ingroup_superiority Argentina
QID786_1 ingroup_superiority ingroup_superiority Colombia
QID786_16 ingroup_superiority ingroup_superiority Colombia
QID786_17 ingroup_superiority ingroup_superiority Colombia
QID786_18 ingroup_superiority ingroup_superiority Colombia
QID788_1 ingroup_superiority ingroup_superiority Mexico
QID788_16 ingroup_superiority ingroup_superiority Mexico
QID788_17 ingroup_superiority ingroup_superiority Mexico
QID788_18 ingroup_superiority ingroup_superiority Mexico
QID790_1 ingroup_superiority ingroup_superiority Spain
QID790_16 ingroup_superiority ingroup_superiority Spain
QID790_17 ingroup_superiority ingroup_superiority Spain
QID790_18 ingroup_superiority ingroup_superiority Spain
QID808_1 collective_relative_deprivation collective_relative_deprivation Argentina
QID808_19 collective_relative_deprivation collective_relative_deprivation Argentina
QID808_20 collective_relative_deprivation collective_relative_deprivation Argentina
QID808_21 collective_relative_deprivation collective_relative_deprivation Argentina
QID808_22 collective_relative_deprivation collective_relative_deprivation Argentina
QID808_23 collective_relative_deprivation collective_relative_deprivation Argentina
QID810_1 collective_relative_deprivation collective_relative_deprivation Colombia
QID810_19 collective_relative_deprivation collective_relative_deprivation Colombia
QID810_20 collective_relative_deprivation collective_relative_deprivation Colombia
QID810_21 collective_relative_deprivation collective_relative_deprivation Colombia
QID810_22 collective_relative_deprivation collective_relative_deprivation Colombia
QID810_23 collective_relative_deprivation collective_relative_deprivation Colombia
QID812_1 collective_relative_deprivation collective_relative_deprivation Mexico
QID812_19 collective_relative_deprivation collective_relative_deprivation Mexico
QID812_20 collective_relative_deprivation collective_relative_deprivation Mexico
QID812_21 collective_relative_deprivation collective_relative_deprivation Mexico
QID812_22 collective_relative_deprivation collective_relative_deprivation Mexico
QID812_23 collective_relative_deprivation collective_relative_deprivation Mexico
QID814_1 collective_relative_deprivation collective_relative_deprivation Spain
QID814_19 collective_relative_deprivation collective_relative_deprivation Spain
QID814_20 collective_relative_deprivation collective_relative_deprivation Spain
QID814_21 collective_relative_deprivation collective_relative_deprivation Spain
QID814_22 collective_relative_deprivation collective_relative_deprivation Spain
QID814_23 collective_relative_deprivation collective_relative_deprivation Spain
QID406_1 identity_fusion identity_fusion Philippines
QID406_123 identity_fusion identity_fusion Philippines
QID406_124 identity_fusion identity_fusion Philippines
QID406_125 identity_fusion identity_fusion Philippines
QID406_126 identity_fusion identity_fusion Philippines
QID406_127 identity_fusion identity_fusion Philippines
QID406_128 identity_fusion identity_fusion Philippines
QID408_1 ingroup_superiority ingroup_superiority Philippines
QID408_129 ingroup_superiority ingroup_superiority Philippines
QID408_130 ingroup_superiority ingroup_superiority Philippines
QID408_131 ingroup_superiority ingroup_superiority Philippines
QID414_1 collective_relative_deprivation collective_relative_deprivation Philippines
QID414_135 collective_relative_deprivation collective_relative_deprivation Philippines
QID414_136 collective_relative_deprivation collective_relative_deprivation Philippines
QID414_137 collective_relative_deprivation collective_relative_deprivation Philippines
QID414_138 collective_relative_deprivation collective_relative_deprivation Philippines
QID414_139 collective_relative_deprivation collective_relative_deprivation Philippines
QID266_1 intuition_logic intuition Czech
QID266_14 intuition_logic logic Czech
QID179_24 ideological_passion harmonious_passion Italy
QID179_58 ideological_passion obsessive_passion Italy
QID179_59 ideological_passion harmonious_passion Italy
QID179_60 ideological_passion obsessive_passion Italy
QID179_61 ideological_passion harmonious_passion Italy
QID179_62 ideological_passion harmonious_passion Italy
QID179_63 ideological_passion obsessive_passion Italy
QID179_64 ideological_passion harmonious_passion Italy
QID179_65 ideological_passion obsessive_passion Italy
QID179_66 ideological_passion harmonious_passion Italy
QID179_67 ideological_passion obsessive_passion Italy
QID179_68 ideological_passion obsessive_passion Italy
QID179_69 ideological_passion commitment_passion Italy
QID179_70 ideological_passion commitment_passion Italy
QID179_71 ideological_passion commitment_passion Italy
QID179_72 ideological_passion commitment_passion Italy
QID213_1 intuition_logic intuition Brazil
QID213_9 intuition_logic logic Brazil
QID232_1 intuition_logic intuition Portugal
QID232_9 intuition_logic logic Portugal
QID441_1 intuition_logic intuition France
QID441_14 intuition_logic logic France
QID185_1 intuition_logic intuition Italy
QID185_9 intuition_logic logic Italy
QID482_1 identity_fusion identity_fusion Romania
QID482_28 identity_fusion identity_fusion Romania
QID482_29 identity_fusion identity_fusion Romania
QID482_30 identity_fusion identity_fusion Romania
QID482_31 identity_fusion identity_fusion Romania
QID482_32 identity_fusion identity_fusion Romania
QID482_33 identity_fusion identity_fusion Romania
QID484_1 ingroup_superiority ingroup_superiority Romania
QID484_34 ingroup_superiority ingroup_superiority Romania
QID484_35 ingroup_superiority ingroup_superiority Romania
QID484_36 ingroup_superiority ingroup_superiority Romania
QID490_1 collective_relative_deprivation collective_relative_deprivation Romania
QID490_40 collective_relative_deprivation collective_relative_deprivation Romania
QID490_41 collective_relative_deprivation collective_relative_deprivation Romania
QID490_42 collective_relative_deprivation collective_relative_deprivation Romania
QID490_43 collective_relative_deprivation collective_relative_deprivation Romania
QID490_44 collective_relative_deprivation collective_relative_deprivation Romania
QID171_1 identity_fusion identity_fusion Italy
QID171_10 identity_fusion identity_fusion Italy
QID171_16 identity_fusion identity_fusion Italy
QID171_17 identity_fusion identity_fusion Italy
QID171_18 identity_fusion identity_fusion Italy
QID171_19 identity_fusion identity_fusion Italy
QID171_20 identity_fusion identity_fusion Italy
QID173_1 ingroup_superiority ingroup_superiority Italy
QID173_16 ingroup_superiority ingroup_superiority Italy
QID173_17 ingroup_superiority ingroup_superiority Italy
QID173_18 ingroup_superiority ingroup_superiority Italy
QID177_1 collective_relative_deprivation collective_relative_deprivation Italy
QID177_19 collective_relative_deprivation collective_relative_deprivation Italy
QID177_20 collective_relative_deprivation collective_relative_deprivation Italy
QID177_21 collective_relative_deprivation collective_relative_deprivation Italy
QID177_22 collective_relative_deprivation collective_relative_deprivation Italy
QID177_23 collective_relative_deprivation collective_relative_deprivation Italy
QID840_1 intuition_logic intuition Argentina
QID840_14 intuition_logic logic Argentina
QID844_1 intuition_logic intuition Mexico
QID844_9 intuition_logic logic Mexico
QID842_1 intuition_logic intuition Colombia
QID842_9 intuition_logic logic Colombia
QID846_1 intuition_logic intuition Spain
QID846_9 intuition_logic logic Spain
QID744_1 past_activism past_activism Nigeria
QID744_10 past_activism past_activism Nigeria
QID744_11 past_activism past_activism Nigeria
QID744_12 past_activism past_activism Nigeria
QID128_1 past_activism past_activism Australia
QID128_10 past_activism past_activism Australia
QID128_11 past_activism past_activism Australia
QID128_12 past_activism past_activism Australia
QID881_1 past_activism past_activism US Democrats
QID881_10 past_activism past_activism US Democrats
QID881_11 past_activism past_activism US Democrats
QID881_12 past_activism past_activism US Democrats
QID67_1 past_activism past_activism Canada
QID67_7 past_activism past_activism Canada
QID67_8 past_activism past_activism Canada
QID67_9 past_activism past_activism Canada
QID572_1 past_activism past_activism United Kingdom
QID572_7 past_activism past_activism United Kingdom
QID572_8 past_activism past_activism United Kingdom
QID572_9 past_activism past_activism United Kingdom
QID883_1 past_activism past_activism US Republicans
QID883_10 past_activism past_activism US Republicans
QID883_11 past_activism past_activism US Republicans
QID883_12 past_activism past_activism US Republicans
QID72_1 anger anger general
QID72_2 anger anger general
QID72_3 anger anger general
QID72_10 anger anger general
QID72_4 anger anger general
QID72_5 anger anger general
QID72_6 anger anger general
QID72_7 anger anger general
QID72_8 anger anger general
QID72_9 anger anger general
QID71_1 perceived_discrimination perceived_discrimination Canada
QID71_14 perceived_discrimination perceived_discrimination Canada
QID71_15 perceived_discrimination perceived_discrimination Canada
QID71_16 perceived_discrimination perceived_discrimination Canada
QID71_17 perceived_discrimination perceived_discrimination Canada
QID71_18 perceived_discrimination perceived_discrimination Canada
QID71_19 perceived_discrimination perceived_discrimination Canada
QID71_20 perceived_discrimination perceived_discrimination Canada
QID71_21 perceived_discrimination perceived_discrimination Canada
QID71_22 perceived_discrimination perceived_discrimination Canada
QID71_23 perceived_discrimination perceived_discrimination Canada
QID118_1 perceived_discrimination perceived_discrimination Australia
QID118_24 perceived_discrimination perceived_discrimination Australia
QID118_25 perceived_discrimination perceived_discrimination Australia
QID118_26 perceived_discrimination perceived_discrimination Australia
QID118_27 perceived_discrimination perceived_discrimination Australia
QID118_28 perceived_discrimination perceived_discrimination Australia
QID118_29 perceived_discrimination perceived_discrimination Australia
QID118_30 perceived_discrimination perceived_discrimination Australia
QID118_31 perceived_discrimination perceived_discrimination Australia
QID118_32 perceived_discrimination perceived_discrimination Australia
QID118_33 perceived_discrimination perceived_discrimination Australia
QID562_1 perceived_discrimination perceived_discrimination United Kingdom
QID562_14 perceived_discrimination perceived_discrimination United Kingdom
QID562_15 perceived_discrimination perceived_discrimination United Kingdom
QID562_16 perceived_discrimination perceived_discrimination United Kingdom
QID562_17 perceived_discrimination perceived_discrimination United Kingdom
QID562_18 perceived_discrimination perceived_discrimination United Kingdom
QID562_19 perceived_discrimination perceived_discrimination United Kingdom
QID562_20 perceived_discrimination perceived_discrimination United Kingdom
QID562_21 perceived_discrimination perceived_discrimination United Kingdom
QID562_22 perceived_discrimination perceived_discrimination United Kingdom
QID562_23 perceived_discrimination perceived_discrimination United Kingdom
QID634_1 perceived_discrimination perceived_discrimination Nigeria
QID634_35 perceived_discrimination perceived_discrimination Nigeria
QID634_36 perceived_discrimination perceived_discrimination Nigeria
QID634_37 perceived_discrimination perceived_discrimination Nigeria
QID634_38 perceived_discrimination perceived_discrimination Nigeria
QID634_39 perceived_discrimination perceived_discrimination Nigeria
QID634_40 perceived_discrimination perceived_discrimination Nigeria
QID634_41 perceived_discrimination perceived_discrimination Nigeria
QID634_42 perceived_discrimination perceived_discrimination Nigeria
QID634_43 perceived_discrimination perceived_discrimination Nigeria
QID634_44 perceived_discrimination perceived_discrimination Nigeria
QID861_1 perceived_discrimination perceived_discrimination US Democrats
QID861_24 perceived_discrimination perceived_discrimination US Democrats
QID861_25 perceived_discrimination perceived_discrimination US Democrats
QID861_26 perceived_discrimination perceived_discrimination US Democrats
QID861_27 perceived_discrimination perceived_discrimination US Democrats
QID861_28 perceived_discrimination perceived_discrimination US Democrats
QID861_29 perceived_discrimination perceived_discrimination US Democrats
QID861_30 perceived_discrimination perceived_discrimination US Democrats
QID861_31 perceived_discrimination perceived_discrimination US Democrats
QID861_32 perceived_discrimination perceived_discrimination US Democrats
QID861_33 perceived_discrimination perceived_discrimination US Democrats
QID863_1 perceived_discrimination perceived_discrimination US Republicans
QID863_24 perceived_discrimination perceived_discrimination US Republicans
QID863_25 perceived_discrimination perceived_discrimination US Republicans
QID863_26 perceived_discrimination perceived_discrimination US Republicans
QID863_27 perceived_discrimination perceived_discrimination US Republicans
QID863_28 perceived_discrimination perceived_discrimination US Republicans
QID863_29 perceived_discrimination perceived_discrimination US Republicans
QID863_30 perceived_discrimination perceived_discrimination US Republicans
QID863_31 perceived_discrimination perceived_discrimination US Republicans
QID863_32 perceived_discrimination perceived_discrimination US Republicans
QID863_33 perceived_discrimination perceived_discrimination US Republicans
QID656_1 activist_intent activist_intent Nigeria
QID656_10 activist_intent activist_intent Nigeria
QID656_11 activist_intent activist_intent Nigeria
QID656_12 activist_intent activist_intent Nigeria
QID120_1 activist_intent activist_intent Australia
QID120_10 activist_intent activist_intent Australia
QID120_11 activist_intent activist_intent Australia
QID120_12 activist_intent activist_intent Australia
QID564_1 activist_intent activist_intent United Kingdom
QID564_7 activist_intent activist_intent United Kingdom
QID564_8 activist_intent activist_intent United Kingdom
QID564_9 activist_intent activist_intent United Kingdom
QID865_1 activist_intent activist_intent US Democrats
QID865_10 activist_intent activist_intent US Democrats
QID865_11 activist_intent activist_intent US Democrats
QID865_12 activist_intent activist_intent US Democrats
QID75_1 activist_intent activist_intent Canada
QID75_7 activist_intent activist_intent Canada
QID75_8 activist_intent activist_intent Canada
QID75_9 activist_intent activist_intent Canada
QID867_1 activist_intent activist_intent US Republicans
QID867_10 activist_intent activist_intent US Republicans
QID867_11 activist_intent activist_intent US Republicans
QID867_12 activist_intent activist_intent US Republicans
QID479_1 intuition_logic intuition Poland
QID479_39 intuition_logic logic Poland
QID222_1 activist_intent activist_intent Portugal
QID222_7 activist_intent activist_intent Portugal
QID222_8 activist_intent activist_intent Portugal
QID222_9 activist_intent activist_intent Portugal
QID220_1 perceived_discrimination perceived_discrimination Portugal
QID220_24 perceived_discrimination perceived_discrimination Portugal
QID220_25 perceived_discrimination perceived_discrimination Portugal
QID220_26 perceived_discrimination perceived_discrimination Portugal
QID220_27 perceived_discrimination perceived_discrimination Portugal
QID220_28 perceived_discrimination perceived_discrimination Portugal
QID220_29 perceived_discrimination perceived_discrimination Portugal
QID220_30 perceived_discrimination perceived_discrimination Portugal
QID220_31 perceived_discrimination perceived_discrimination Portugal
QID220_32 perceived_discrimination perceived_discrimination Portugal
QID220_33 perceived_discrimination perceived_discrimination Portugal
QID203_1 activist_intent activist_intent Brazil
QID203_10 activist_intent activist_intent Brazil
QID203_11 activist_intent activist_intent Brazil
QID203_12 activist_intent activist_intent Brazil
QID211_1 past_activism past_activism Brazil
QID211_10 past_activism past_activism Brazil
QID211_11 past_activism past_activism Brazil
QID211_12 past_activism past_activism Brazil
QID425_1 identity_fusion identity_fusion France
QID425_16 identity_fusion identity_fusion France
QID425_17 identity_fusion identity_fusion France
QID425_18 identity_fusion identity_fusion France
QID425_19 identity_fusion identity_fusion France
QID425_20 identity_fusion identity_fusion France
QID425_21 identity_fusion identity_fusion France
QID427_1 ingroup_superiority ingroup_superiority France
QID427_16 ingroup_superiority ingroup_superiority France
QID427_17 ingroup_superiority ingroup_superiority France
QID427_18 ingroup_superiority ingroup_superiority France
QID433_1 collective_relative_deprivation collective_relative_deprivation France
QID433_19 collective_relative_deprivation collective_relative_deprivation France
QID433_20 collective_relative_deprivation collective_relative_deprivation France
QID433_21 collective_relative_deprivation collective_relative_deprivation France
QID433_22 collective_relative_deprivation collective_relative_deprivation France
QID433_23 collective_relative_deprivation collective_relative_deprivation France
QID234_1 perceived_discrimination perceived_discrimination Norway
QID234_14 perceived_discrimination perceived_discrimination Norway
QID234_15 perceived_discrimination perceived_discrimination Norway
QID234_16 perceived_discrimination perceived_discrimination Norway
QID234_17 perceived_discrimination perceived_discrimination Norway
QID234_18 perceived_discrimination perceived_discrimination Norway
QID234_19 perceived_discrimination perceived_discrimination Norway
QID234_20 perceived_discrimination perceived_discrimination Norway
QID234_21 perceived_discrimination perceived_discrimination Norway
QID234_22 perceived_discrimination perceived_discrimination Norway
QID234_23 perceived_discrimination perceived_discrimination Norway
QID236_1 activist_intent activist_intent Norway
QID236_10 activist_intent activist_intent Norway
QID236_11 activist_intent activist_intent Norway
QID236_12 activist_intent activist_intent Norway
QID363_1 radical_intentions violent_intent Malaysia
QID363_137 radical_intentions violent_intent Malaysia
QID363_138 radical_intentions violent_intent Malaysia
QID363_139 radical_intentions violent_intent Malaysia
QID363_141 radical_intentions violent_intent Malaysia
QID363_142 radical_intentions peaceful_intent Malaysia
QID363_143 radical_intentions peaceful_intent Malaysia
QID363_144 radical_intentions peaceful_intent Malaysia
QID363_145 radical_intentions peaceful_intent Malaysia
QID363_146 radical_intentions peaceful_intent Malaysia
QID363_147 radical_intentions peaceful_intent Malaysia
QID361_1 ideological_passion harmonious_passion Malaysia
QID361_122 ideological_passion obsessive_passion Malaysia
QID361_123 ideological_passion harmonious_passion Malaysia
QID361_124 ideological_passion obsessive_passion Malaysia
QID361_125 ideological_passion harmonious_passion Malaysia
QID361_126 ideological_passion harmonious_passion Malaysia
QID361_127 ideological_passion obsessive_passion Malaysia
QID361_128 ideological_passion harmonious_passion Malaysia
QID361_129 ideological_passion obsessive_passion Malaysia
QID361_130 ideological_passion harmonious_passion Malaysia
QID361_131 ideological_passion obsessive_passion Malaysia
QID361_132 ideological_passion obsessive_passion Malaysia
QID361_133 ideological_passion commitment_passion Malaysia
QID361_134 ideological_passion commitment_passion Malaysia
QID361_135 ideological_passion commitment_passion Malaysia
QID361_136 ideological_passion commitment_passion Malaysia
QID355_1 perceived_discrimination perceived_discrimination Malaysia
QID355_114 perceived_discrimination perceived_discrimination Malaysia
QID355_115 perceived_discrimination perceived_discrimination Malaysia
QID355_116 perceived_discrimination perceived_discrimination Malaysia
QID355_117 perceived_discrimination perceived_discrimination Malaysia
QID355_118 perceived_discrimination perceived_discrimination Malaysia
QID355_119 perceived_discrimination perceived_discrimination Malaysia
QID355_120 perceived_discrimination perceived_discrimination Malaysia
QID355_121 perceived_discrimination perceived_discrimination Malaysia
QID355_122 perceived_discrimination perceived_discrimination Malaysia
QID355_123 perceived_discrimination perceived_discrimination Malaysia
QID357_1 activist_intent activist_intent Malaysia
QID357_114 activist_intent activist_intent Malaysia
QID357_115 activist_intent activist_intent Malaysia
QID357_116 activist_intent activist_intent Malaysia
QID365_1 past_activism past_activism Malaysia
QID365_28 past_activism past_activism Malaysia
QID365_29 past_activism past_activism Malaysia
QID365_30 past_activism past_activism Malaysia
QID148_1 intuition_logic intuition Netherlands
QID148_14 intuition_logic logic Netherlands
QID511_1 ideological_passion harmonious_passion Sweden
QID511_51 ideological_passion obsessive_passion Sweden
QID511_52 ideological_passion harmonious_passion Sweden
QID511_53 ideological_passion obsessive_passion Sweden
QID511_54 ideological_passion harmonious_passion Sweden
QID511_55 ideological_passion harmonious_passion Sweden
QID511_56 ideological_passion obsessive_passion Sweden
QID511_57 ideological_passion harmonious_passion Sweden
QID511_58 ideological_passion obsessive_passion Sweden
QID511_59 ideological_passion harmonious_passion Sweden
QID511_60 ideological_passion obsessive_passion Sweden
QID511_61 ideological_passion obsessive_passion Sweden
QID511_62 ideological_passion commitment_passion Sweden
QID511_63 ideological_passion commitment_passion Sweden
QID511_64 ideological_passion commitment_passion Sweden
QID511_65 ideological_passion commitment_passion Sweden
QID291_1 intuition_logic intuition Denmark
QID291_15 intuition_logic logic Denmark
QID246_1 intuition_logic intuition Norway
QID246_14 intuition_logic logic Norway
QID130_1 intuition_logic intuition Australia
QID130_9 intuition_logic logic Australia
QID574_1 intuition_logic intuition United Kingdom
QID574_9 intuition_logic logic United Kingdom
QID885_1 intuition_logic intuition US Democrats
QID885_9 intuition_logic logic US Democrats
QID101_1 intuition_logic intuition Canada
QID101_9 intuition_logic logic Canada
QID887_1 intuition_logic intuition US Republicans
QID887_9 intuition_logic logic US Republicans
QID766_1 intuition_logic intuition Nigeria
QID766_9 intuition_logic logic Nigeria
QID47_1 panas positive_affect general
QID47_32 panas positive_affect general
QID47_33 panas positive_affect general
QID47_34 panas positive_affect general
QID47_35 panas positive_affect general
QID47_36 panas negative_affect general
QID47_37 panas negative_affect general
QID47_38 panas negative_affect general
QID47_39 panas negative_affect general
QID47_40 panas negative_affect general
QID126_1 radical_intentions violent_intent Australia
QID126_25 radical_intentions violent_intent Australia
QID126_26 radical_intentions violent_intent Australia
QID126_27 radical_intentions violent_intent Australia
QID126_29 radical_intentions violent_intent Australia
QID126_30 radical_intentions peaceful_intent Australia
QID126_31 radical_intentions peaceful_intent Australia
QID126_32 radical_intentions peaceful_intent Australia
QID126_33 radical_intentions peaceful_intent Australia
QID126_34 radical_intentions peaceful_intent Australia
QID126_35 radical_intentions peaceful_intent Australia
QID570_1 radical_intentions violent_intent United Kingdom
QID570_14 radical_intentions violent_intent United Kingdom
QID570_15 radical_intentions violent_intent United Kingdom
QID570_16 radical_intentions violent_intent United Kingdom
QID570_18 radical_intentions violent_intent United Kingdom
QID570_19 radical_intentions peaceful_intent United Kingdom
QID570_20 radical_intentions peaceful_intent United Kingdom
QID570_21 radical_intentions peaceful_intent United Kingdom
QID570_22 radical_intentions peaceful_intent United Kingdom
QID570_23 radical_intentions peaceful_intent United Kingdom
QID570_24 radical_intentions peaceful_intent United Kingdom
QID877_1 radical_intentions violent_intent US Democrats
QID877_25 radical_intentions violent_intent US Democrats
QID877_26 radical_intentions violent_intent US Democrats
QID877_27 radical_intentions violent_intent US Democrats
QID877_29 radical_intentions violent_intent US Democrats
QID877_30 radical_intentions peaceful_intent US Democrats
QID877_31 radical_intentions peaceful_intent US Democrats
QID877_32 radical_intentions peaceful_intent US Democrats
QID877_33 radical_intentions peaceful_intent US Democrats
QID877_34 radical_intentions peaceful_intent US Democrats
QID877_35 radical_intentions peaceful_intent US Democrats
QID98_1 radical_intentions violent_intent Canada
QID98_14 radical_intentions violent_intent Canada
QID98_15 radical_intentions violent_intent Canada
QID98_16 radical_intentions violent_intent Canada
QID98_18 radical_intentions violent_intent Canada
QID98_19 radical_intentions peaceful_intent Canada
QID98_20 radical_intentions peaceful_intent Canada
QID98_21 radical_intentions peaceful_intent Canada
QID98_22 radical_intentions peaceful_intent Canada
QID98_23 radical_intentions peaceful_intent Canada
QID98_24 radical_intentions peaceful_intent Canada
QID879_1 radical_intentions violent_intent US Republicans
QID879_25 radical_intentions violent_intent US Republicans
QID879_26 radical_intentions violent_intent US Republicans
QID879_27 radical_intentions violent_intent US Republicans
QID879_29 radical_intentions violent_intent US Republicans
QID879_30 radical_intentions peaceful_intent US Republicans
QID879_31 radical_intentions peaceful_intent US Republicans
QID879_32 radical_intentions peaceful_intent US Republicans
QID879_33 radical_intentions peaceful_intent US Republicans
QID879_34 radical_intentions peaceful_intent US Republicans
QID879_35 radical_intentions peaceful_intent US Republicans
QID722_1 radical_intentions violent_intent Nigeria
QID722_25 radical_intentions violent_intent Nigeria
QID722_26 radical_intentions violent_intent Nigeria
QID722_27 radical_intentions violent_intent Nigeria
QID722_29 radical_intentions violent_intent Nigeria
QID722_30 radical_intentions peaceful_intent Nigeria
QID722_31 radical_intentions peaceful_intent Nigeria
QID722_32 radical_intentions peaceful_intent Nigeria
QID722_33 radical_intentions peaceful_intent Nigeria
QID722_34 radical_intentions peaceful_intent Nigeria
QID722_35 radical_intentions peaceful_intent Nigeria
QID250_1 identity_fusion identity_fusion Czech
QID250_21 identity_fusion identity_fusion Czech
QID250_22 identity_fusion identity_fusion Czech
QID250_23 identity_fusion identity_fusion Czech
QID250_24 identity_fusion identity_fusion Czech
QID250_25 identity_fusion identity_fusion Czech
QID250_26 identity_fusion identity_fusion Czech
QID269_1 ingroup_superiority ingroup_superiority Czech
QID269_27 ingroup_superiority ingroup_superiority Czech
QID269_28 ingroup_superiority ingroup_superiority Czech
QID269_29 ingroup_superiority ingroup_superiority Czech
QID271_1 collective_relative_deprivation collective_relative_deprivation Czech
QID271_33 collective_relative_deprivation collective_relative_deprivation Czech
QID271_34 collective_relative_deprivation collective_relative_deprivation Czech
QID271_35 collective_relative_deprivation collective_relative_deprivation Czech
QID271_36 collective_relative_deprivation collective_relative_deprivation Czech
QID271_37 collective_relative_deprivation collective_relative_deprivation Czech
QID351_1 identity_fusion identity_fusion Malaysia
QID351_105 identity_fusion identity_fusion Malaysia
QID351_106 identity_fusion identity_fusion Malaysia
QID351_107 identity_fusion identity_fusion Malaysia
QID351_108 identity_fusion identity_fusion Malaysia
QID351_109 identity_fusion identity_fusion Malaysia
QID351_110 identity_fusion identity_fusion Malaysia
QID353_1 ingroup_superiority ingroup_superiority Malaysia
QID353_111 ingroup_superiority ingroup_superiority Malaysia
QID353_112 ingroup_superiority ingroup_superiority Malaysia
QID353_113 ingroup_superiority ingroup_superiority Malaysia
QID359_1 collective_relative_deprivation collective_relative_deprivation Malaysia
QID359_117 collective_relative_deprivation collective_relative_deprivation Malaysia
QID359_118 collective_relative_deprivation collective_relative_deprivation Malaysia
QID359_119 collective_relative_deprivation collective_relative_deprivation Malaysia
QID359_120 collective_relative_deprivation collective_relative_deprivation Malaysia
QID359_121 collective_relative_deprivation collective_relative_deprivation Malaysia
QID732_1 past_activism past_activism Algeria
QID732_10 past_activism past_activism Algeria
QID732_11 past_activism past_activism Algeria
QID732_12 past_activism past_activism Algeria
QID734_1 past_activism past_activism Egypt
QID734_10 past_activism past_activism Egypt
QID734_11 past_activism past_activism Egypt
QID734_12 past_activism past_activism Egypt
QID736_1 past_activism past_activism Jordan
QID736_10 past_activism past_activism Jordan
QID736_11 past_activism past_activism Jordan
QID736_12 past_activism past_activism Jordan
QID738_1 past_activism past_activism Kuwait
QID738_10 past_activism past_activism Kuwait
QID738_11 past_activism past_activism Kuwait
QID738_12 past_activism past_activism Kuwait
QID740_1 past_activism past_activism Lebanon
QID740_10 past_activism past_activism Lebanon
QID740_11 past_activism past_activism Lebanon
QID740_12 past_activism past_activism Lebanon
QID742_1 past_activism past_activism Morocco
QID742_10 past_activism past_activism Morocco
QID742_11 past_activism past_activism Morocco
QID742_12 past_activism past_activism Morocco
QID748_1 past_activism past_activism Saudi Arabia
QID748_10 past_activism past_activism Saudi Arabia
QID748_11 past_activism past_activism Saudi Arabia
QID748_12 past_activism past_activism Saudi Arabia
QID752_1 past_activism past_activism Tunisia
QID752_10 past_activism past_activism Tunisia
QID752_11 past_activism past_activism Tunisia
QID752_12 past_activism past_activism Tunisia
QID644_1 activist_intent activist_intent Algeria
QID644_13 activist_intent activist_intent Algeria
QID644_14 activist_intent activist_intent Algeria
QID644_15 activist_intent activist_intent Algeria
QID646_1 activist_intent activist_intent Egypt
QID646_13 activist_intent activist_intent Egypt
QID646_14 activist_intent activist_intent Egypt
QID646_15 activist_intent activist_intent Egypt
QID648_1 activist_intent activist_intent Jordan
QID648_13 activist_intent activist_intent Jordan
QID648_14 activist_intent activist_intent Jordan
QID648_15 activist_intent activist_intent Jordan
QID650_1 activist_intent activist_intent Kuwait
QID650_13 activist_intent activist_intent Kuwait
QID650_14 activist_intent activist_intent Kuwait
QID650_15 activist_intent activist_intent Kuwait
QID652_1 activist_intent activist_intent Lebanon
QID652_13 activist_intent activist_intent Lebanon
QID652_14 activist_intent activist_intent Lebanon
QID652_15 activist_intent activist_intent Lebanon
QID654_1 activist_intent activist_intent Morocco
QID654_13 activist_intent activist_intent Morocco
QID654_14 activist_intent activist_intent Morocco
QID654_15 activist_intent activist_intent Morocco
QID660_1 activist_intent activist_intent Saudi Arabia
QID660_13 activist_intent activist_intent Saudi Arabia
QID660_14 activist_intent activist_intent Saudi Arabia
QID660_15 activist_intent activist_intent Saudi Arabia
QID664_1 activist_intent activist_intent Tunisia
QID664_13 activist_intent activist_intent Tunisia
QID664_14 activist_intent activist_intent Tunisia
QID664_15 activist_intent activist_intent Tunisia
QID622_1 perceived_discrimination perceived_discrimination Algeria
QID622_34 perceived_discrimination perceived_discrimination Algeria
QID622_35 perceived_discrimination perceived_discrimination Algeria
QID622_36 perceived_discrimination perceived_discrimination Algeria
QID622_37 perceived_discrimination perceived_discrimination Algeria
QID622_38 perceived_discrimination perceived_discrimination Algeria
QID622_39 perceived_discrimination perceived_discrimination Algeria
QID622_40 perceived_discrimination perceived_discrimination Algeria
QID622_41 perceived_discrimination perceived_discrimination Algeria
QID622_42 perceived_discrimination perceived_discrimination Algeria
QID622_43 perceived_discrimination perceived_discrimination Algeria
QID624_1 perceived_discrimination perceived_discrimination Egypt
QID624_24 perceived_discrimination perceived_discrimination Egypt
QID624_25 perceived_discrimination perceived_discrimination Egypt
QID624_26 perceived_discrimination perceived_discrimination Egypt
QID624_27 perceived_discrimination perceived_discrimination Egypt
QID624_28 perceived_discrimination perceived_discrimination Egypt
QID624_29 perceived_discrimination perceived_discrimination Egypt
QID624_30 perceived_discrimination perceived_discrimination Egypt
QID624_31 perceived_discrimination perceived_discrimination Egypt
QID624_32 perceived_discrimination perceived_discrimination Egypt
QID624_33 perceived_discrimination perceived_discrimination Egypt
QID626_1 perceived_discrimination perceived_discrimination Jordan
QID626_24 perceived_discrimination perceived_discrimination Jordan
QID626_25 perceived_discrimination perceived_discrimination Jordan
QID626_26 perceived_discrimination perceived_discrimination Jordan
QID626_27 perceived_discrimination perceived_discrimination Jordan
QID626_28 perceived_discrimination perceived_discrimination Jordan
QID626_29 perceived_discrimination perceived_discrimination Jordan
QID626_30 perceived_discrimination perceived_discrimination Jordan
QID626_31 perceived_discrimination perceived_discrimination Jordan
QID626_32 perceived_discrimination perceived_discrimination Jordan
QID626_33 perceived_discrimination perceived_discrimination Jordan
QID628_1 perceived_discrimination perceived_discrimination Kuwait
QID628_24 perceived_discrimination perceived_discrimination Kuwait
QID628_25 perceived_discrimination perceived_discrimination Kuwait
QID628_26 perceived_discrimination perceived_discrimination Kuwait
QID628_27 perceived_discrimination perceived_discrimination Kuwait
QID628_28 perceived_discrimination perceived_discrimination Kuwait
QID628_29 perceived_discrimination perceived_discrimination Kuwait
QID628_30 perceived_discrimination perceived_discrimination Kuwait
QID628_31 perceived_discrimination perceived_discrimination Kuwait
QID628_32 perceived_discrimination perceived_discrimination Kuwait
QID628_33 perceived_discrimination perceived_discrimination Kuwait
QID630_1 perceived_discrimination perceived_discrimination Lebanon
QID630_24 perceived_discrimination perceived_discrimination Lebanon
QID630_25 perceived_discrimination perceived_discrimination Lebanon
QID630_26 perceived_discrimination perceived_discrimination Lebanon
QID630_27 perceived_discrimination perceived_discrimination Lebanon
QID630_28 perceived_discrimination perceived_discrimination Lebanon
QID630_29 perceived_discrimination perceived_discrimination Lebanon
QID630_30 perceived_discrimination perceived_discrimination Lebanon
QID630_31 perceived_discrimination perceived_discrimination Lebanon
QID630_32 perceived_discrimination perceived_discrimination Lebanon
QID630_33 perceived_discrimination perceived_discrimination Lebanon
QID632_1 perceived_discrimination perceived_discrimination Morocco
QID632_24 perceived_discrimination perceived_discrimination Morocco
QID632_25 perceived_discrimination perceived_discrimination Morocco
QID632_26 perceived_discrimination perceived_discrimination Morocco
QID632_27 perceived_discrimination perceived_discrimination Morocco
QID632_28 perceived_discrimination perceived_discrimination Morocco
QID632_29 perceived_discrimination perceived_discrimination Morocco
QID632_30 perceived_discrimination perceived_discrimination Morocco
QID632_31 perceived_discrimination perceived_discrimination Morocco
QID632_32 perceived_discrimination perceived_discrimination Morocco
QID632_33 perceived_discrimination perceived_discrimination Morocco
QID638_1 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_24 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_25 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_26 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_27 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_28 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_29 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_30 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_31 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_32 perceived_discrimination perceived_discrimination Saudi Arabia
QID638_33 perceived_discrimination perceived_discrimination Saudi Arabia
QID642_1 perceived_discrimination perceived_discrimination Tunisia
QID642_24 perceived_discrimination perceived_discrimination Tunisia
QID642_25 perceived_discrimination perceived_discrimination Tunisia
QID642_26 perceived_discrimination perceived_discrimination Tunisia
QID642_27 perceived_discrimination perceived_discrimination Tunisia
QID642_28 perceived_discrimination perceived_discrimination Tunisia
QID642_29 perceived_discrimination perceived_discrimination Tunisia
QID642_30 perceived_discrimination perceived_discrimination Tunisia
QID642_31 perceived_discrimination perceived_discrimination Tunisia
QID642_32 perceived_discrimination perceived_discrimination Tunisia
QID642_33 perceived_discrimination perceived_discrimination Tunisia
QID264_1 past_activism past_activism Czech
QID264_13 past_activism past_activism Czech
QID264_14 past_activism past_activism Czech
QID264_15 past_activism past_activism Czech
QID754_1 intuition_logic intuition Algeria
QID754_9 intuition_logic logic Algeria
QID756_1 intuition_logic intuition Egypt
QID756_9 intuition_logic logic Egypt
QID758_1 intuition_logic intuition Jordan
QID758_9 intuition_logic logic Jordan
QID760_1 intuition_logic intuition Kuwait
QID760_9 intuition_logic logic Kuwait
QID762_1 intuition_logic intuition Lebanon
QID762_9 intuition_logic logic Lebanon
QID764_1 intuition_logic intuition Morocco
QID764_9 intuition_logic logic Morocco
QID770_1 intuition_logic intuition Saudi Arabia
QID770_9 intuition_logic logic Saudi Arabia
QID774_1 intuition_logic intuition Tunisia
QID774_9 intuition_logic logic Tunisia
QID576_1 identity_fusion identity_fusion Algeria
QID576_22 identity_fusion identity_fusion Algeria
QID576_23 identity_fusion identity_fusion Algeria
QID576_24 identity_fusion identity_fusion Algeria
QID576_25 identity_fusion identity_fusion Algeria
QID576_26 identity_fusion identity_fusion Algeria
QID576_27 identity_fusion identity_fusion Algeria
QID578_1 identity_fusion identity_fusion Egypt
QID578_22 identity_fusion identity_fusion Egypt
QID578_23 identity_fusion identity_fusion Egypt
QID578_24 identity_fusion identity_fusion Egypt
QID578_25 identity_fusion identity_fusion Egypt
QID578_26 identity_fusion identity_fusion Egypt
QID578_27 identity_fusion identity_fusion Egypt
QID580_1 identity_fusion identity_fusion Jordan
QID580_22 identity_fusion identity_fusion Jordan
QID580_23 identity_fusion identity_fusion Jordan
QID580_24 identity_fusion identity_fusion Jordan
QID580_25 identity_fusion identity_fusion Jordan
QID580_26 identity_fusion identity_fusion Jordan
QID580_27 identity_fusion identity_fusion Jordan
QID582_1 identity_fusion identity_fusion Kuwait
QID582_22 identity_fusion identity_fusion Kuwait
QID582_23 identity_fusion identity_fusion Kuwait
QID582_24 identity_fusion identity_fusion Kuwait
QID582_25 identity_fusion identity_fusion Kuwait
QID582_26 identity_fusion identity_fusion Kuwait
QID582_27 identity_fusion identity_fusion Kuwait
QID584_1 identity_fusion identity_fusion Lebanon
QID584_16 identity_fusion identity_fusion Lebanon
QID584_17 identity_fusion identity_fusion Lebanon
QID584_18 identity_fusion identity_fusion Lebanon
QID584_19 identity_fusion identity_fusion Lebanon
QID584_20 identity_fusion identity_fusion Lebanon
QID584_21 identity_fusion identity_fusion Lebanon
QID586_1 identity_fusion identity_fusion Morocco
QID586_16 identity_fusion identity_fusion Morocco
QID586_17 identity_fusion identity_fusion Morocco
QID586_18 identity_fusion identity_fusion Morocco
QID586_19 identity_fusion identity_fusion Morocco
QID586_20 identity_fusion identity_fusion Morocco
QID586_21 identity_fusion identity_fusion Morocco
QID594_1 identity_fusion identity_fusion Saudi Arabia
QID594_16 identity_fusion identity_fusion Saudi Arabia
QID594_17 identity_fusion identity_fusion Saudi Arabia
QID594_18 identity_fusion identity_fusion Saudi Arabia
QID594_19 identity_fusion identity_fusion Saudi Arabia
QID594_20 identity_fusion identity_fusion Saudi Arabia
QID594_21 identity_fusion identity_fusion Saudi Arabia
QID598_1 identity_fusion identity_fusion Tunisia
QID598_16 identity_fusion identity_fusion Tunisia
QID598_17 identity_fusion identity_fusion Tunisia
QID598_18 identity_fusion identity_fusion Tunisia
QID598_19 identity_fusion identity_fusion Tunisia
QID598_20 identity_fusion identity_fusion Tunisia
QID598_21 identity_fusion identity_fusion Tunisia
QID600_1 ingroup_superiority ingroup_superiority Algeria
QID600_16 ingroup_superiority ingroup_superiority Algeria
QID600_17 ingroup_superiority ingroup_superiority Algeria
QID600_18 ingroup_superiority ingroup_superiority Algeria
QID602_1 ingroup_superiority ingroup_superiority Egypt
QID602_16 ingroup_superiority ingroup_superiority Egypt
QID602_17 ingroup_superiority ingroup_superiority Egypt
QID602_18 ingroup_superiority ingroup_superiority Egypt
QID604_1 ingroup_superiority ingroup_superiority Jordan
QID604_16 ingroup_superiority ingroup_superiority Jordan
QID604_17 ingroup_superiority ingroup_superiority Jordan
QID604_18 ingroup_superiority ingroup_superiority Jordan
QID606_1 ingroup_superiority ingroup_superiority Kuwait
QID606_16 ingroup_superiority ingroup_superiority Kuwait
QID606_17 ingroup_superiority ingroup_superiority Kuwait
QID606_18 ingroup_superiority ingroup_superiority Kuwait
QID608_1 ingroup_superiority ingroup_superiority Lebanon
QID608_16 ingroup_superiority ingroup_superiority Lebanon
QID608_17 ingroup_superiority ingroup_superiority Lebanon
QID608_18 ingroup_superiority ingroup_superiority Lebanon
QID610_1 ingroup_superiority ingroup_superiority Morocco
QID610_16 ingroup_superiority ingroup_superiority Morocco
QID610_17 ingroup_superiority ingroup_superiority Morocco
QID610_18 ingroup_superiority ingroup_superiority Morocco
QID616_1 ingroup_superiority ingroup_superiority Saudi Arabia
QID616_16 ingroup_superiority ingroup_superiority Saudi Arabia
QID616_17 ingroup_superiority ingroup_superiority Saudi Arabia
QID616_18 ingroup_superiority ingroup_superiority Saudi Arabia
QID620_1 ingroup_superiority ingroup_superiority Tunisia
QID620_16 ingroup_superiority ingroup_superiority Tunisia
QID620_17 ingroup_superiority ingroup_superiority Tunisia
QID620_18 ingroup_superiority ingroup_superiority Tunisia
QID666_1 collective_relative_deprivation collective_relative_deprivation Algeria
QID666_19 collective_relative_deprivation collective_relative_deprivation Algeria
QID666_20 collective_relative_deprivation collective_relative_deprivation Algeria
QID666_21 collective_relative_deprivation collective_relative_deprivation Algeria
QID666_22 collective_relative_deprivation collective_relative_deprivation Algeria
QID666_23 collective_relative_deprivation collective_relative_deprivation Algeria
QID668_1 collective_relative_deprivation collective_relative_deprivation Egypt
QID668_19 collective_relative_deprivation collective_relative_deprivation Egypt
QID668_20 collective_relative_deprivation collective_relative_deprivation Egypt
QID668_21 collective_relative_deprivation collective_relative_deprivation Egypt
QID668_22 collective_relative_deprivation collective_relative_deprivation Egypt
QID668_23 collective_relative_deprivation collective_relative_deprivation Egypt
QID670_1 collective_relative_deprivation collective_relative_deprivation Jordan
QID670_19 collective_relative_deprivation collective_relative_deprivation Jordan
QID670_20 collective_relative_deprivation collective_relative_deprivation Jordan
QID670_21 collective_relative_deprivation collective_relative_deprivation Jordan
QID670_22 collective_relative_deprivation collective_relative_deprivation Jordan
QID670_23 collective_relative_deprivation collective_relative_deprivation Jordan
QID672_1 collective_relative_deprivation collective_relative_deprivation Kuwait
QID672_19 collective_relative_deprivation collective_relative_deprivation Kuwait
QID672_20 collective_relative_deprivation collective_relative_deprivation Kuwait
QID672_21 collective_relative_deprivation collective_relative_deprivation Kuwait
QID672_22 collective_relative_deprivation collective_relative_deprivation Kuwait
QID672_23 collective_relative_deprivation collective_relative_deprivation Kuwait
QID674_1 collective_relative_deprivation collective_relative_deprivation Lebanon
QID674_19 collective_relative_deprivation collective_relative_deprivation Lebanon
QID674_20 collective_relative_deprivation collective_relative_deprivation Lebanon
QID674_21 collective_relative_deprivation collective_relative_deprivation Lebanon
QID674_22 collective_relative_deprivation collective_relative_deprivation Lebanon
QID674_23 collective_relative_deprivation collective_relative_deprivation Lebanon
QID676_1 collective_relative_deprivation collective_relative_deprivation Morocco
QID676_19 collective_relative_deprivation collective_relative_deprivation Morocco
QID676_20 collective_relative_deprivation collective_relative_deprivation Morocco
QID676_21 collective_relative_deprivation collective_relative_deprivation Morocco
QID676_22 collective_relative_deprivation collective_relative_deprivation Morocco
QID676_23 collective_relative_deprivation collective_relative_deprivation Morocco
QID682_1 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID682_19 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID682_20 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID682_21 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID682_22 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID682_23 collective_relative_deprivation collective_relative_deprivation Saudi Arabia
QID686_1 collective_relative_deprivation collective_relative_deprivation Tunisia
QID686_19 collective_relative_deprivation collective_relative_deprivation Tunisia
QID686_20 collective_relative_deprivation collective_relative_deprivation Tunisia
QID686_21 collective_relative_deprivation collective_relative_deprivation Tunisia
QID686_22 collective_relative_deprivation collective_relative_deprivation Tunisia
QID686_23 collective_relative_deprivation collective_relative_deprivation Tunisia
QID175_1 perceived_discrimination perceived_discrimination Italy
QID175_24 perceived_discrimination perceived_discrimination Italy
QID175_25 perceived_discrimination perceived_discrimination Italy
QID175_26 perceived_discrimination perceived_discrimination Italy
QID175_27 perceived_discrimination perceived_discrimination Italy
QID175_28 perceived_discrimination perceived_discrimination Italy
QID175_29 perceived_discrimination perceived_discrimination Italy
QID175_30 perceived_discrimination perceived_discrimination Italy
QID175_31 perceived_discrimination perceived_discrimination Italy
QID175_32 perceived_discrimination perceived_discrimination Italy
QID175_33 perceived_discrimination perceived_discrimination Italy
QID189_1 activist_intent activist_intent Italy
QID189_10 activist_intent activist_intent Italy
QID189_11 activist_intent activist_intent Italy
QID189_12 activist_intent activist_intent Italy
QID294_1 identity_fusion identity_fusion Finland
QID294_33 identity_fusion identity_fusion Finland
QID294_34 identity_fusion identity_fusion Finland
QID294_35 identity_fusion identity_fusion Finland
QID294_36 identity_fusion identity_fusion Finland
QID294_37 identity_fusion identity_fusion Finland
QID294_38 identity_fusion identity_fusion Finland
QID296_1 ingroup_superiority ingroup_superiority Finland
QID296_39 ingroup_superiority ingroup_superiority Finland
QID296_40 ingroup_superiority ingroup_superiority Finland
QID296_41 ingroup_superiority ingroup_superiority Finland
QID302_1 collective_relative_deprivation collective_relative_deprivation Finland
QID302_45 collective_relative_deprivation collective_relative_deprivation Finland
QID302_46 collective_relative_deprivation collective_relative_deprivation Finland
QID302_47 collective_relative_deprivation collective_relative_deprivation Finland
QID302_48 collective_relative_deprivation collective_relative_deprivation Finland
QID302_49 collective_relative_deprivation collective_relative_deprivation Finland
QID298_1 perceived_discrimination perceived_discrimination Finland
QID298_42 perceived_discrimination perceived_discrimination Finland
QID298_43 perceived_discrimination perceived_discrimination Finland
QID298_44 perceived_discrimination perceived_discrimination Finland
QID298_45 perceived_discrimination perceived_discrimination Finland
QID298_46 perceived_discrimination perceived_discrimination Finland
QID298_47 perceived_discrimination perceived_discrimination Finland
QID298_48 perceived_discrimination perceived_discrimination Finland
QID298_49 perceived_discrimination perceived_discrimination Finland
QID298_50 perceived_discrimination perceived_discrimination Finland
QID298_51 perceived_discrimination perceived_discrimination Finland
QID300_1 activist_intent activist_intent Finland
QID300_42 activist_intent activist_intent Finland
QID300_43 activist_intent activist_intent Finland
QID300_44 activist_intent activist_intent Finland
QID275_1 identity_fusion identity_fusion Denmark
QID275_27 identity_fusion identity_fusion Denmark
QID275_28 identity_fusion identity_fusion Denmark
QID275_29 identity_fusion identity_fusion Denmark
QID275_30 identity_fusion identity_fusion Denmark
QID275_31 identity_fusion identity_fusion Denmark
QID275_32 identity_fusion identity_fusion Denmark
QID277_1 ingroup_superiority ingroup_superiority Denmark
QID277_33 ingroup_superiority ingroup_superiority Denmark
QID277_34 ingroup_superiority ingroup_superiority Denmark
QID277_35 ingroup_superiority ingroup_superiority Denmark
QID283_1 collective_relative_deprivation collective_relative_deprivation Denmark
QID283_36 collective_relative_deprivation collective_relative_deprivation Denmark
QID283_37 collective_relative_deprivation collective_relative_deprivation Denmark
QID283_38 collective_relative_deprivation collective_relative_deprivation Denmark
QID283_39 collective_relative_deprivation collective_relative_deprivation Denmark
QID283_40 collective_relative_deprivation collective_relative_deprivation Denmark
QID431_1 activist_intent activist_intent France
QID431_10 activist_intent activist_intent France
QID431_11 activist_intent activist_intent France
QID431_12 activist_intent activist_intent France
QID429_1 perceived_discrimination perceived_discrimination France
QID429_24 perceived_discrimination perceived_discrimination France
QID429_25 perceived_discrimination perceived_discrimination France
QID429_26 perceived_discrimination perceived_discrimination France
QID429_27 perceived_discrimination perceived_discrimination France
QID429_28 perceived_discrimination perceived_discrimination France
QID429_29 perceived_discrimination perceived_discrimination France
QID429_30 perceived_discrimination perceived_discrimination France
QID429_31 perceived_discrimination perceived_discrimination France
QID429_32 perceived_discrimination perceived_discrimination France
QID429_33 perceived_discrimination perceived_discrimination France
QID439_1 past_activism past_activism France
QID439_10 past_activism past_activism France
QID439_11 past_activism past_activism France
QID439_12 past_activism past_activism France
QID281_1 activist_intent activist_intent Denmark
QID281_36 activist_intent activist_intent Denmark
QID281_37 activist_intent activist_intent Denmark
QID281_38 activist_intent activist_intent Denmark
QID279_1 perceived_discrimination perceived_discrimination Denmark
QID279_36 perceived_discrimination perceived_discrimination Denmark
QID279_37 perceived_discrimination perceived_discrimination Denmark
QID279_38 perceived_discrimination perceived_discrimination Denmark
QID279_39 perceived_discrimination perceived_discrimination Denmark
QID279_40 perceived_discrimination perceived_discrimination Denmark
QID279_41 perceived_discrimination perceived_discrimination Denmark
QID279_42 perceived_discrimination perceived_discrimination Denmark
QID279_43 perceived_discrimination perceived_discrimination Denmark
QID279_44 perceived_discrimination perceived_discrimination Denmark
QID279_45 perceived_discrimination perceived_discrimination Denmark
QID475_1 radical_intentions violent_intent Poland
QID475_69 radical_intentions violent_intent Poland
QID475_70 radical_intentions violent_intent Poland
QID475_71 radical_intentions violent_intent Poland
QID475_73 radical_intentions violent_intent Poland
QID475_74 radical_intentions peaceful_intent Poland
QID475_75 radical_intentions peaceful_intent Poland
QID475_76 radical_intentions peaceful_intent Poland
QID475_77 radical_intentions peaceful_intent Poland
QID475_78 radical_intentions peaceful_intent Poland
QID475_79 radical_intentions peaceful_intent Poland
QID700_24 ideological_passion harmonious_passion Nigeria
QID700_58 ideological_passion obsessive_passion Nigeria
QID700_59 ideological_passion harmonious_passion Nigeria
QID700_60 ideological_passion obsessive_passion Nigeria
QID700_61 ideological_passion harmonious_passion Nigeria
QID700_62 ideological_passion harmonious_passion Nigeria
QID700_63 ideological_passion obsessive_passion Nigeria
QID700_64 ideological_passion harmonious_passion Nigeria
QID700_65 ideological_passion obsessive_passion Nigeria
QID700_66 ideological_passion harmonious_passion Nigeria
QID700_67 ideological_passion obsessive_passion Nigeria
QID700_68 ideological_passion obsessive_passion Nigeria
QID700_69 ideological_passion commitment_passion Nigeria
QID700_70 ideological_passion commitment_passion Nigeria
QID700_71 ideological_passion commitment_passion Nigeria
QID700_72 ideological_passion commitment_passion Nigeria
QID124_24 ideological_passion harmonious_passion Australia
QID124_58 ideological_passion obsessive_passion Australia
QID124_59 ideological_passion harmonious_passion Australia
QID124_60 ideological_passion obsessive_passion Australia
QID124_61 ideological_passion harmonious_passion Australia
QID124_62 ideological_passion harmonious_passion Australia
QID124_63 ideological_passion obsessive_passion Australia
QID124_64 ideological_passion harmonious_passion Australia
QID124_65 ideological_passion obsessive_passion Australia
QID124_66 ideological_passion harmonious_passion Australia
QID124_67 ideological_passion obsessive_passion Australia
QID124_68 ideological_passion obsessive_passion Australia
QID124_69 ideological_passion commitment_passion Australia
QID124_70 ideological_passion commitment_passion Australia
QID124_71 ideological_passion commitment_passion Australia
QID124_72 ideological_passion commitment_passion Australia
QID568_24 ideological_passion harmonious_passion United Kingdom
QID568_43 ideological_passion obsessive_passion United Kingdom
QID568_44 ideological_passion harmonious_passion United Kingdom
QID568_45 ideological_passion obsessive_passion United Kingdom
QID568_46 ideological_passion harmonious_passion United Kingdom
QID568_47 ideological_passion harmonious_passion United Kingdom
QID568_48 ideological_passion obsessive_passion United Kingdom
QID568_49 ideological_passion harmonious_passion United Kingdom
QID568_50 ideological_passion obsessive_passion United Kingdom
QID568_51 ideological_passion harmonious_passion United Kingdom
QID568_52 ideological_passion obsessive_passion United Kingdom
QID568_53 ideological_passion obsessive_passion United Kingdom
QID568_54 ideological_passion commitment_passion United Kingdom
QID568_55 ideological_passion commitment_passion United Kingdom
QID568_56 ideological_passion commitment_passion United Kingdom
QID568_57 ideological_passion commitment_passion United Kingdom
QID873_24 ideological_passion harmonious_passion US Democrats
QID873_58 ideological_passion obsessive_passion US Democrats
QID873_59 ideological_passion harmonious_passion US Democrats
QID873_60 ideological_passion obsessive_passion US Democrats
QID873_61 ideological_passion harmonious_passion US Democrats
QID873_62 ideological_passion harmonious_passion US Democrats
QID873_63 ideological_passion obsessive_passion US Democrats
QID873_64 ideological_passion harmonious_passion US Democrats
QID873_65 ideological_passion obsessive_passion US Democrats
QID873_66 ideological_passion harmonious_passion US Democrats
QID873_67 ideological_passion obsessive_passion US Democrats
QID873_68 ideological_passion obsessive_passion US Democrats
QID873_69 ideological_passion commitment_passion US Democrats
QID873_70 ideological_passion commitment_passion US Democrats
QID873_71 ideological_passion commitment_passion US Democrats
QID873_72 ideological_passion commitment_passion US Democrats
QID3_24 ideological_passion harmonious_passion Canada
QID3_43 ideological_passion obsessive_passion Canada
QID3_44 ideological_passion harmonious_passion Canada
QID3_45 ideological_passion obsessive_passion Canada
QID3_46 ideological_passion harmonious_passion Canada
QID3_47 ideological_passion harmonious_passion Canada
QID3_48 ideological_passion obsessive_passion Canada
QID3_49 ideological_passion harmonious_passion Canada
QID3_50 ideological_passion obsessive_passion Canada
QID3_51 ideological_passion harmonious_passion Canada
QID3_52 ideological_passion obsessive_passion Canada
QID3_53 ideological_passion obsessive_passion Canada
QID3_54 ideological_passion commitment_passion Canada
QID3_55 ideological_passion commitment_passion Canada
QID3_56 ideological_passion commitment_passion Canada
QID3_57 ideological_passion commitment_passion Canada
QID875_24 ideological_passion harmonious_passion US Republicans
QID875_58 ideological_passion obsessive_passion US Republicans
QID875_59 ideological_passion harmonious_passion US Republicans
QID875_60 ideological_passion obsessive_passion US Republicans
QID875_61 ideological_passion harmonious_passion US Republicans
QID875_62 ideological_passion harmonious_passion US Republicans
QID875_63 ideological_passion obsessive_passion US Republicans
QID875_64 ideological_passion harmonious_passion US Republicans
QID875_65 ideological_passion obsessive_passion US Republicans
QID875_66 ideological_passion harmonious_passion US Republicans
QID875_67 ideological_passion obsessive_passion US Republicans
QID875_68 ideological_passion obsessive_passion US Republicans
QID875_69 ideological_passion commitment_passion US Republicans
QID875_70 ideological_passion commitment_passion US Republicans
QID875_71 ideological_passion commitment_passion US Republicans
QID875_72 ideological_passion commitment_passion US Republicans
QID477_1 past_activism past_activism Poland
QID477_10 past_activism past_activism Poland
QID477_11 past_activism past_activism Poland
QID477_12 past_activism past_activism Poland
QID896_1 activist_intent activist_intent Israel
QID896_10 activist_intent activist_intent Israel
QID896_11 activist_intent activist_intent Israel
QID896_12 activist_intent activist_intent Israel
QID894_1 perceived_discrimination perceived_discrimination Israel
QID894_24 perceived_discrimination perceived_discrimination Israel
QID894_25 perceived_discrimination perceived_discrimination Israel
QID894_26 perceived_discrimination perceived_discrimination Israel
QID894_27 perceived_discrimination perceived_discrimination Israel
QID894_28 perceived_discrimination perceived_discrimination Israel
QID894_29 perceived_discrimination perceived_discrimination Israel
QID894_30 perceived_discrimination perceived_discrimination Israel
QID894_31 perceived_discrimination perceived_discrimination Israel
QID894_32 perceived_discrimination perceived_discrimination Israel
QID894_33 perceived_discrimination perceived_discrimination Israel
QID890_1 identity_fusion identity_fusion Israel
QID890_22 identity_fusion identity_fusion Israel
QID890_23 identity_fusion identity_fusion Israel
QID890_24 identity_fusion identity_fusion Israel
QID890_25 identity_fusion identity_fusion Israel
QID890_26 identity_fusion identity_fusion Israel
QID890_27 identity_fusion identity_fusion Israel
QID892_1 ingroup_superiority ingroup_superiority Israel
QID892_16 ingroup_superiority ingroup_superiority Israel
QID892_17 ingroup_superiority ingroup_superiority Israel
QID892_18 ingroup_superiority ingroup_superiority Israel
QID898_1 collective_relative_deprivation collective_relative_deprivation Israel
QID898_19 collective_relative_deprivation collective_relative_deprivation Israel
QID898_20 collective_relative_deprivation collective_relative_deprivation Israel
QID898_21 collective_relative_deprivation collective_relative_deprivation Israel
QID898_22 collective_relative_deprivation collective_relative_deprivation Israel
QID898_23 collective_relative_deprivation collective_relative_deprivation Israel
QID900_24 ideological_passion harmonious_passion Israel
QID900_58 ideological_passion obsessive_passion Israel
QID900_59 ideological_passion harmonious_passion Israel
QID900_60 ideological_passion obsessive_passion Israel
QID900_61 ideological_passion harmonious_passion Israel
QID900_62 ideological_passion harmonious_passion Israel
QID900_63 ideological_passion obsessive_passion Israel
QID900_64 ideological_passion harmonious_passion Israel
QID900_65 ideological_passion obsessive_passion Israel
QID900_66 ideological_passion harmonious_passion Israel
QID900_67 ideological_passion obsessive_passion Israel
QID900_68 ideological_passion obsessive_passion Israel
QID900_69 ideological_passion commitment_passion Israel
QID900_70 ideological_passion commitment_passion Israel
QID900_71 ideological_passion commitment_passion Israel
QID900_72 ideological_passion commitment_passion Israel
QID688_24 ideological_passion harmonious_passion Algeria
QID688_58 ideological_passion obsessive_passion Algeria
QID688_59 ideological_passion harmonious_passion Algeria
QID688_60 ideological_passion obsessive_passion Algeria
QID688_61 ideological_passion harmonious_passion Algeria
QID688_62 ideological_passion harmonious_passion Algeria
QID688_63 ideological_passion obsessive_passion Algeria
QID688_64 ideological_passion harmonious_passion Algeria
QID688_65 ideological_passion obsessive_passion Algeria
QID688_66 ideological_passion harmonious_passion Algeria
QID688_67 ideological_passion obsessive_passion Algeria
QID688_68 ideological_passion obsessive_passion Algeria
QID688_69 ideological_passion commitment_passion Algeria
QID688_70 ideological_passion commitment_passion Algeria
QID688_71 ideological_passion commitment_passion Algeria
QID688_72 ideological_passion commitment_passion Algeria
QID690_24 ideological_passion harmonious_passion Egypt
QID690_58 ideological_passion obsessive_passion Egypt
QID690_59 ideological_passion harmonious_passion Egypt
QID690_60 ideological_passion obsessive_passion Egypt
QID690_61 ideological_passion harmonious_passion Egypt
QID690_62 ideological_passion harmonious_passion Egypt
QID690_63 ideological_passion obsessive_passion Egypt
QID690_64 ideological_passion harmonious_passion Egypt
QID690_65 ideological_passion obsessive_passion Egypt
QID690_66 ideological_passion harmonious_passion Egypt
QID690_67 ideological_passion obsessive_passion Egypt
QID690_68 ideological_passion obsessive_passion Egypt
QID690_69 ideological_passion commitment_passion Egypt
QID690_70 ideological_passion commitment_passion Egypt
QID690_71 ideological_passion commitment_passion Egypt
QID690_72 ideological_passion commitment_passion Egypt
QID692_24 ideological_passion harmonious_passion Jordan
QID692_58 ideological_passion obsessive_passion Jordan
QID692_59 ideological_passion harmonious_passion Jordan
QID692_60 ideological_passion obsessive_passion Jordan
QID692_61 ideological_passion harmonious_passion Jordan
QID692_62 ideological_passion harmonious_passion Jordan
QID692_63 ideological_passion obsessive_passion Jordan
QID692_64 ideological_passion harmonious_passion Jordan
QID692_65 ideological_passion obsessive_passion Jordan
QID692_66 ideological_passion harmonious_passion Jordan
QID692_67 ideological_passion obsessive_passion Jordan
QID692_68 ideological_passion obsessive_passion Jordan
QID692_69 ideological_passion commitment_passion Jordan
QID692_70 ideological_passion commitment_passion Jordan
QID692_71 ideological_passion commitment_passion Jordan
QID692_72 ideological_passion commitment_passion Jordan
QID694_24 ideological_passion harmonious_passion Kuwait
QID694_58 ideological_passion obsessive_passion Kuwait
QID694_59 ideological_passion harmonious_passion Kuwait
QID694_60 ideological_passion obsessive_passion Kuwait
QID694_61 ideological_passion harmonious_passion Kuwait
QID694_62 ideological_passion harmonious_passion Kuwait
QID694_63 ideological_passion obsessive_passion Kuwait
QID694_64 ideological_passion harmonious_passion Kuwait
QID694_65 ideological_passion obsessive_passion Kuwait
QID694_66 ideological_passion harmonious_passion Kuwait
QID694_67 ideological_passion obsessive_passion Kuwait
QID694_68 ideological_passion obsessive_passion Kuwait
QID694_69 ideological_passion commitment_passion Kuwait
QID694_70 ideological_passion commitment_passion Kuwait
QID694_71 ideological_passion commitment_passion Kuwait
QID694_72 ideological_passion commitment_passion Kuwait
QID696_24 ideological_passion harmonious_passion Lebanon
QID696_58 ideological_passion obsessive_passion Lebanon
QID696_59 ideological_passion harmonious_passion Lebanon
QID696_60 ideological_passion obsessive_passion Lebanon
QID696_61 ideological_passion harmonious_passion Lebanon
QID696_62 ideological_passion harmonious_passion Lebanon
QID696_63 ideological_passion obsessive_passion Lebanon
QID696_64 ideological_passion harmonious_passion Lebanon
QID696_65 ideological_passion obsessive_passion Lebanon
QID696_66 ideological_passion harmonious_passion Lebanon
QID696_67 ideological_passion obsessive_passion Lebanon
QID696_68 ideological_passion obsessive_passion Lebanon
QID696_69 ideological_passion commitment_passion Lebanon
QID696_70 ideological_passion commitment_passion Lebanon
QID696_71 ideological_passion commitment_passion Lebanon
QID696_72 ideological_passion commitment_passion Lebanon
QID698_24 ideological_passion harmonious_passion Morocco
QID698_58 ideological_passion obsessive_passion Morocco
QID698_59 ideological_passion harmonious_passion Morocco
QID698_60 ideological_passion obsessive_passion Morocco
QID698_61 ideological_passion harmonious_passion Morocco
QID698_62 ideological_passion harmonious_passion Morocco
QID698_63 ideological_passion obsessive_passion Morocco
QID698_64 ideological_passion harmonious_passion Morocco
QID698_65 ideological_passion obsessive_passion Morocco
QID698_66 ideological_passion harmonious_passion Morocco
QID698_67 ideological_passion obsessive_passion Morocco
QID698_68 ideological_passion obsessive_passion Morocco
QID698_69 ideological_passion commitment_passion Morocco
QID698_70 ideological_passion commitment_passion Morocco
QID698_71 ideological_passion commitment_passion Morocco
QID698_72 ideological_passion commitment_passion Morocco
QID704_24 ideological_passion harmonious_passion Saudi Arabia
QID704_58 ideological_passion obsessive_passion Saudi Arabia
QID704_59 ideological_passion harmonious_passion Saudi Arabia
QID704_60 ideological_passion obsessive_passion Saudi Arabia
QID704_61 ideological_passion harmonious_passion Saudi Arabia
QID704_62 ideological_passion harmonious_passion Saudi Arabia
QID704_63 ideological_passion obsessive_passion Saudi Arabia
QID704_64 ideological_passion harmonious_passion Saudi Arabia
QID704_65 ideological_passion obsessive_passion Saudi Arabia
QID704_66 ideological_passion harmonious_passion Saudi Arabia
QID704_67 ideological_passion obsessive_passion Saudi Arabia
QID704_68 ideological_passion obsessive_passion Saudi Arabia
QID704_69 ideological_passion commitment_passion Saudi Arabia
QID704_70 ideological_passion commitment_passion Saudi Arabia
QID704_71 ideological_passion commitment_passion Saudi Arabia
QID704_72 ideological_passion commitment_passion Saudi Arabia
QID708_24 ideological_passion harmonious_passion Tunisia
QID708_58 ideological_passion obsessive_passion Tunisia
QID708_59 ideological_passion harmonious_passion Tunisia
QID708_60 ideological_passion obsessive_passion Tunisia
QID708_61 ideological_passion harmonious_passion Tunisia
QID708_62 ideological_passion harmonious_passion Tunisia
QID708_63 ideological_passion obsessive_passion Tunisia
QID708_64 ideological_passion harmonious_passion Tunisia
QID708_65 ideological_passion obsessive_passion Tunisia
QID708_66 ideological_passion harmonious_passion Tunisia
QID708_67 ideological_passion obsessive_passion Tunisia
QID708_68 ideological_passion obsessive_passion Tunisia
QID708_69 ideological_passion commitment_passion Tunisia
QID708_70 ideological_passion commitment_passion Tunisia
QID708_71 ideological_passion commitment_passion Tunisia
QID708_72 ideological_passion commitment_passion Tunisia
QID710_1 radical_intentions violent_intent Algeria
QID710_25 radical_intentions violent_intent Algeria
QID710_26 radical_intentions violent_intent Algeria
QID710_27 radical_intentions violent_intent Algeria
QID710_29 radical_intentions violent_intent Algeria
QID710_30 radical_intentions peaceful_intent Algeria
QID710_31 radical_intentions peaceful_intent Algeria
QID710_32 radical_intentions peaceful_intent Algeria
QID710_33 radical_intentions peaceful_intent Algeria
QID710_34 radical_intentions peaceful_intent Algeria
QID710_35 radical_intentions peaceful_intent Algeria
QID712_1 radical_intentions violent_intent Egypt
QID712_25 radical_intentions violent_intent Egypt
QID712_26 radical_intentions violent_intent Egypt
QID712_27 radical_intentions violent_intent Egypt
QID712_29 radical_intentions violent_intent Egypt
QID712_30 radical_intentions peaceful_intent Egypt
QID712_31 radical_intentions peaceful_intent Egypt
QID712_32 radical_intentions peaceful_intent Egypt
QID712_33 radical_intentions peaceful_intent Egypt
QID712_34 radical_intentions peaceful_intent Egypt
QID712_35 radical_intentions peaceful_intent Egypt
QID714_1 radical_intentions violent_intent Jordan
QID714_25 radical_intentions violent_intent Jordan
QID714_26 radical_intentions violent_intent Jordan
QID714_27 radical_intentions violent_intent Jordan
QID714_29 radical_intentions violent_intent Jordan
QID714_30 radical_intentions peaceful_intent Jordan
QID714_31 radical_intentions peaceful_intent Jordan
QID714_32 radical_intentions peaceful_intent Jordan
QID714_33 radical_intentions peaceful_intent Jordan
QID714_34 radical_intentions peaceful_intent Jordan
QID714_35 radical_intentions peaceful_intent Jordan
QID716_1 radical_intentions violent_intent Kuwait
QID716_25 radical_intentions violent_intent Kuwait
QID716_26 radical_intentions violent_intent Kuwait
QID716_27 radical_intentions violent_intent Kuwait
QID716_29 radical_intentions violent_intent Kuwait
QID716_30 radical_intentions peaceful_intent Kuwait
QID716_31 radical_intentions peaceful_intent Kuwait
QID716_32 radical_intentions peaceful_intent Kuwait
QID716_33 radical_intentions peaceful_intent Kuwait
QID716_34 radical_intentions peaceful_intent Kuwait
QID716_35 radical_intentions peaceful_intent Kuwait
QID718_1 radical_intentions violent_intent Lebanon
QID718_25 radical_intentions violent_intent Lebanon
QID718_26 radical_intentions violent_intent Lebanon
QID718_27 radical_intentions violent_intent Lebanon
QID718_29 radical_intentions violent_intent Lebanon
QID718_30 radical_intentions peaceful_intent Lebanon
QID718_31 radical_intentions peaceful_intent Lebanon
QID718_32 radical_intentions peaceful_intent Lebanon
QID718_33 radical_intentions peaceful_intent Lebanon
QID718_34 radical_intentions peaceful_intent Lebanon
QID718_35 radical_intentions peaceful_intent Lebanon
QID720_1 radical_intentions violent_intent Morocco
QID720_25 radical_intentions violent_intent Morocco
QID720_26 radical_intentions violent_intent Morocco
QID720_27 radical_intentions violent_intent Morocco
QID720_29 radical_intentions violent_intent Morocco
QID720_30 radical_intentions peaceful_intent Morocco
QID720_31 radical_intentions peaceful_intent Morocco
QID720_32 radical_intentions peaceful_intent Morocco
QID720_33 radical_intentions peaceful_intent Morocco
QID720_34 radical_intentions peaceful_intent Morocco
QID720_35 radical_intentions peaceful_intent Morocco
QID726_1 radical_intentions violent_intent Saudi Arabia
QID726_25 radical_intentions violent_intent Saudi Arabia
QID726_26 radical_intentions violent_intent Saudi Arabia
QID726_27 radical_intentions violent_intent Saudi Arabia
QID726_29 radical_intentions violent_intent Saudi Arabia
QID726_30 radical_intentions peaceful_intent Saudi Arabia
QID726_31 radical_intentions peaceful_intent Saudi Arabia
QID726_32 radical_intentions peaceful_intent Saudi Arabia
QID726_33 radical_intentions peaceful_intent Saudi Arabia
QID726_34 radical_intentions peaceful_intent Saudi Arabia
QID726_35 radical_intentions peaceful_intent Saudi Arabia
QID730_1 radical_intentions violent_intent Tunisia
QID730_25 radical_intentions violent_intent Tunisia
QID730_26 radical_intentions violent_intent Tunisia
QID730_27 radical_intentions violent_intent Tunisia
QID730_29 radical_intentions violent_intent Tunisia
QID730_30 radical_intentions peaceful_intent Tunisia
QID730_31 radical_intentions peaceful_intent Tunisia
QID730_32 radical_intentions peaceful_intent Tunisia
QID730_33 radical_intentions peaceful_intent Tunisia
QID730_34 radical_intentions peaceful_intent Tunisia
QID730_35 radical_intentions peaceful_intent Tunisia
QID399_1 radical_intentions violent_intent Pakistan
QID399_149 radical_intentions violent_intent Pakistan
QID399_150 radical_intentions violent_intent Pakistan
QID399_151 radical_intentions violent_intent Pakistan
QID399_153 radical_intentions violent_intent Pakistan
QID399_154 radical_intentions peaceful_intent Pakistan
QID399_155 radical_intentions peaceful_intent Pakistan
QID399_156 radical_intentions peaceful_intent Pakistan
QID399_157 radical_intentions peaceful_intent Pakistan
QID399_158 radical_intentions peaceful_intent Pakistan
QID399_159 radical_intentions peaceful_intent Pakistan
QID403_1 intuition_logic intuition Pakistan
QID403_134 intuition_logic logic Pakistan
QID397_1 ideological_passion harmonious_passion Pakistan
QID397_134 ideological_passion obsessive_passion Pakistan
QID397_135 ideological_passion harmonious_passion Pakistan
QID397_136 ideological_passion obsessive_passion Pakistan
QID397_137 ideological_passion harmonious_passion Pakistan
QID397_138 ideological_passion harmonious_passion Pakistan
QID397_139 ideological_passion obsessive_passion Pakistan
QID397_140 ideological_passion harmonious_passion Pakistan
QID397_141 ideological_passion obsessive_passion Pakistan
QID397_142 ideological_passion harmonious_passion Pakistan
QID397_143 ideological_passion obsessive_passion Pakistan
QID397_144 ideological_passion obsessive_passion Pakistan
QID397_145 ideological_passion commitment_passion Pakistan
QID397_146 ideological_passion commitment_passion Pakistan
QID397_147 ideological_passion commitment_passion Pakistan
QID397_148 ideological_passion commitment_passion Pakistan
QID401_1 past_activism past_activism Pakistan
QID401_34 past_activism past_activism Pakistan
QID401_35 past_activism past_activism Pakistan
QID401_36 past_activism past_activism Pakistan
QID393_1 activist_intent activist_intent Pakistan
QID393_126 activist_intent activist_intent Pakistan
QID393_127 activist_intent activist_intent Pakistan
QID393_128 activist_intent activist_intent Pakistan
QID391_1 perceived_discrimination perceived_discrimination Pakistan
QID391_126 perceived_discrimination perceived_discrimination Pakistan
QID391_127 perceived_discrimination perceived_discrimination Pakistan
QID391_128 perceived_discrimination perceived_discrimination Pakistan
QID391_129 perceived_discrimination perceived_discrimination Pakistan
QID391_130 perceived_discrimination perceived_discrimination Pakistan
QID391_131 perceived_discrimination perceived_discrimination Pakistan
QID391_132 perceived_discrimination perceived_discrimination Pakistan
QID391_133 perceived_discrimination perceived_discrimination Pakistan
QID391_134 perceived_discrimination perceived_discrimination Pakistan
QID391_135 perceived_discrimination perceived_discrimination Pakistan
QID387_142 identity_fusion identity_fusion Pakistan
QID387_144 identity_fusion identity_fusion Pakistan
QID387_145 identity_fusion identity_fusion Pakistan
QID387_146 identity_fusion identity_fusion Pakistan
QID387_147 identity_fusion identity_fusion Pakistan
QID387_148 identity_fusion identity_fusion Pakistan
QID387_149 identity_fusion identity_fusion Pakistan
QID389_1 ingroup_superiority ingroup_superiority Pakistan
QID389_123 ingroup_superiority ingroup_superiority Pakistan
QID389_124 ingroup_superiority ingroup_superiority Pakistan
QID389_125 ingroup_superiority ingroup_superiority Pakistan
QID395_1 collective_relative_deprivation collective_relative_deprivation Pakistan
QID395_129 collective_relative_deprivation collective_relative_deprivation Pakistan
QID395_130 collective_relative_deprivation collective_relative_deprivation Pakistan
QID395_131 collective_relative_deprivation collective_relative_deprivation Pakistan
QID395_132 collective_relative_deprivation collective_relative_deprivation Pakistan
QID395_133 collective_relative_deprivation collective_relative_deprivation Pakistan
identity_fusion_indo_01 identity_fusion identity_fusion Indonesia
identity_fusion_indo_02 identity_fusion identity_fusion Indonesia
identity_fusion_indo_03 identity_fusion identity_fusion Indonesia
identity_fusion_indo_04 identity_fusion identity_fusion Indonesia
identity_fusion_indo_05 identity_fusion identity_fusion Indonesia
identity_fusion_indo_06 identity_fusion identity_fusion Indonesia
identity_fusion_indo_07 identity_fusion identity_fusion Indonesia
ingroup_superiority_indo_01 ingroup_superiority ingroup_superiority Indonesia
ingroup_superiority_indo_02 ingroup_superiority ingroup_superiority Indonesia
ingroup_superiority_indo_03 ingroup_superiority ingroup_superiority Indonesia
ingroup_superiority_indo_04 ingroup_superiority ingroup_superiority Indonesia
collective_relative_deprivation_indo_01 collective_relative_deprivation collective_relative_deprivation Indonesia
collective_relative_deprivation_indo_02 collective_relative_deprivation collective_relative_deprivation Indonesia
collective_relative_deprivation_indo_03 collective_relative_deprivation collective_relative_deprivation Indonesia
collective_relative_deprivation_indo_04 collective_relative_deprivation collective_relative_deprivation Indonesia
collective_relative_deprivation_indo_05 collective_relative_deprivation collective_relative_deprivation Indonesia
collective_relative_deprivation_indo_06 collective_relative_deprivation collective_relative_deprivation Indonesia
past_activism_indo_01 past_activism past_activism Indonesia
past_activism_indo_02 past_activism past_activism Indonesia
past_activism_indo_03 past_activism past_activism Indonesia
past_activism_indo_04 past_activism past_activism Indonesia
perceived_discrimination_indo_01 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_02 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_03 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_04 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_05 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_06 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_07 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_08 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_09 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_10 perceived_discrimination perceived_discrimination Indonesia
perceived_discrimination_indo_11 perceived_discrimination perceived_discrimination Indonesia
activist_intent_indo_01 activist_intent activist_intent Indonesia
activist_intent_indo_02 activist_intent activist_intent Indonesia
activist_intent_indo_03 activist_intent activist_intent Indonesia
activist_intent_indo_04 activist_intent activist_intent Indonesia
intuition_indo_01 intuition_logic intuition Indonesia
logic_indo_02 intuition_logic logic Indonesia
violent_intents_indo_01 radical_intentions violent_intent Indonesia
violent_intents_indo_02 radical_intentions violent_intent Indonesia
violent_intents_indo_03 radical_intentions violent_intent Indonesia
violent_intents_indo_04 radical_intentions violent_intent Indonesia
violent_intents_indo_06 radical_intentions violent_intent Indonesia
peaceful_intents_07 radical_intentions peaceful_intent Indonesia
peaceful_intents_08 radical_intentions peaceful_intent Indonesia
peaceful_intents_09 radical_intentions peaceful_intent Indonesia
peaceful_intents_10 radical_intentions peaceful_intent Indonesia
peaceful_intents_11 radical_intentions peaceful_intent Indonesia
peaceful_intents_12 radical_intentions peaceful_intent Indonesia
harmonious_passion_indo_01 ideological_passion harmonious_passion Indonesia
obsessive_passion_indo_01 ideological_passion obsessive_passion Indonesia
harmonious_passion_indo_02 ideological_passion harmonious_passion Indonesia
obsessive_passion_indo_02 ideological_passion obsessive_passion Indonesia
harmonious_passion_indo_03 ideological_passion harmonious_passion Indonesia
harmonious_passion_indo_04 ideological_passion harmonious_passion Indonesia
obsessive_passion_indo_03 ideological_passion obsessive_passion Indonesia
harmonious_passion_indo_05 ideological_passion harmonious_passion Indonesia
obsessive_passion_indo_04 ideological_passion obsessive_passion Indonesia
harmonious_passion_indo_06 ideological_passion harmonious_passion Indonesia
obsessive_passion_indo_05 ideological_passion obsessive_passion Indonesia
obsessive_passion_indo_06 ideological_passion obsessive_passion Indonesia
commitment_passion_indo_01 ideological_passion commitment_passion Indonesia
commitment_passion_indo_02 ideological_passion commitment_passion Indonesia
commitment_passion_indo_03 ideological_passion commitment_passion Indonesia
commitment_passion_indo_04 ideological_passion commitment_passion Indonesia
Note:
Timing variables were removed from the item overview.

Wrangle functions

Code
# Function to filter and select data for a given subscale
get_subscale_data <- function(df, scale_info, subscale_name) {
  # Filter the items based on the subscale_name
  items_selected <- scale_info %>%
    filter(subscale_name == !!subscale_name)
  
  # Filter out missing items (though usually items should not be NA, it's good practice)
  items_selected <- items_selected %>% 
    filter(!is.na(item))
  
  # Check if all items exist in df and identify any missing or NA items
  missing_items <- items_selected %>% 
    filter(!item %in% names(df))
  
  if (nrow(missing_items) > 0) {
    warning(paste("The following items are missing from the data and cannot be extracted:<br>", paste(missing_items$item_identifier, collapse = "<br>")))
    # Filter out missing items from the items dataframe
    items_selected <- items_selected %>% 
      filter(item %in% names(df))
  }
  
  # Select and convert to numeric, handling non-numeric columns
  subscale_data <- df %>% select(all_of(items_selected$item)) %>% mutate(across(everything(), ~ as.numeric(as.character(.))))
  
  # Check whether items are completely NA
  full_missing_items <- names(subscale_data)[apply(subscale_data, 2, function(x) all(is.na(x)))]
  
  if (length(full_missing_items) > 0) {
    
    # update the selected subscale items 
    items_out <- items_selected %>% filter(item %in% full_missing_items)
    items_selected <- items_selected %>% filter(!item %in% full_missing_items)
    
    warning("The following items have only missing values and will be excluded:<br>")
    for (item in full_missing_items) {
      item_identifier <- items_out %>% filter(item == !!item) %>% pull(item_identifier)
      print(paste("Item Identifier:", item_identifier))
      print(table(dt_raw[[item]], useNA = "ifany"))
      cat("<br>")
    }
    subscale_data <- subscale_data %>% select(-all_of(full_missing_items))
  }
  
  # Check for items with no variance
  no_variance_items <- names(subscale_data)[apply(subscale_data, 2, function(x) var(x, na.rm = TRUE) == 0)]
  no_variance_items <- no_variance_items[!is.na(no_variance_items)]
  
  if (length(no_variance_items) > 0) {
    
    items_out <- items_selected %>% filter(item %in% no_variance_items)
    items_selected <- items_selected # we are not dropping the items anymore
    
    warning("The following items have no variance. Highly unlikely! Please double check:<br>")
    for (item in no_variance_items) {
      item_identifier <- items_out %>% filter(item == !!item) %>% pull(item_identifier)
      print(paste("Item Identifier:", item_identifier))
      print(table(dt_raw[[item]], useNA = "ifany"))
      cat("<br>")
    }
  }
  
  # save the response_id as well; important for later
  subscale_data$response_id <- df$response_id
  subscale_data$country_recorded <- df$country_clean
  
  subscale_info <- list(
    subscale_data = subscale_data,
    subscale_items = items_selected
  )
  
  return(subscale_info)
}

combine_subscale_data <- function(subscale_items, subscale_data) {
  
  fill_up_subscale_data <- subscale_data %>% 
    select(
      response_id,
      country_recorded
    )
  
  tmp_subscale_data <- subscale_data %>% 
    select(response_id, everything(), -country_recorded)
  
  cat("Identify countries per participant....<br>")
  
  # Create a mapping from items to countries
  item_to_country <- setNames(subscale_items$country_extracted, subscale_items$item)
  
  # Identify relevant item columns in the data
  item_cols <- intersect(colnames(tmp_subscale_data), names(item_to_country))
  
  # Determine the country for each row
  already_printed_country <- c()
  tmp_subscale_data$country_extracted <- apply(tmp_subscale_data[, item_cols], 1, function(row) {
    
    # Identify non-missing items in the current row
    non_na_indices <- which(!is.na(row))
    
    if (length(non_na_indices) == 0) {
      # If all items are missing, assign NA
      return(NA_character_)
    }
    
    # Retrieve the names of non-missing items
    items_in_row <- item_cols[non_na_indices]
    
    # Map these items to their corresponding countries
    countries_in_row <- item_to_country[items_in_row]
    
    # Identify unique countries associated with the non-missing items
    unique_countries <- unique(countries_in_row)
    
    if (length(unique_countries) == 1) {
      # If all non-missing items correspond to the same country, assign that country
      return(unique_countries[1])
    } else {
      # If multiple countries are identified, label as 'multiple_countries_identified'
      # Check if this combination of countries has already been printed
      unique_countries_str <- paste(sort(unique_countries), collapse = ", ")
      
      if (!unique_countries_str %in% already_printed_country) {
        warning(paste("Multiple countries identified. Please check the subscale....<br>", unique_countries_str))
        already_printed_country <<- c(already_printed_country, unique_countries_str) # Store the printed combination globally
      }
      
      return("multiple_countries_identified")
    }
    
  })
  rm(already_printed_country)
  
  # Merge the identified country back into the original dataframe by response_id
  fill_up_subscale_data <- fill_up_subscale_data %>%
    left_join(tmp_subscale_data %>% select(response_id, country_extracted), by = "response_id")
  
  # Display message upon completion
  cat("Completed the country identification process.<br>")
  
  # Check for problematic entries as the recorded and extracted columns should overlap
  mismatches_country <- fill_up_subscale_data %>%
    filter(
      (country_recorded != country_extracted | is.na(country_extracted)) &
        !(country_extracted == "general") &
        !(
          country_recorded == "US" &
            (startsWith(country_extracted, "US Republicans") | startsWith(country_extracted, "US Democrats"))
        )
    )
  
  unique_mismatches_country <- mismatches_country %>%
    distinct(country_recorded, country_extracted)
  
  unique_mismatches_country <- unique_mismatches_country %>%
    mutate(
      warning_message = case_when(
        is.na(country_extracted) ~ paste("Unable to extract a country for recorded country:", country_recorded, "<br>"),
        country_extracted == "multiple_entries_identified" ~ paste("Multiple entries identified for recorded country:", country_recorded, "<br>"),
        TRUE ~ paste("Mismatch detected: Recorded:", country_recorded, "- Extracted:", country_extracted, "<br>")
      )
    ) 
  
  purrr::walk(unique_mismatches_country$warning_message, warning)
  
  
  # Collapsing across columns
  cat("Starting the column collapsing process....<br>")
  
  # we first rename the columns
  names(subscale_data) <- c(subscale_items$item_number, "response_id", "country_recorded")
  
  # Extract the trailing numbers from the column names
  col_groups <- sub(".*_(\\d+)$", "\\1", names(subscale_data))
  col_groups <- col_groups[!is.na(col_groups)]
  col_groups <- col_groups[col_groups != "response_id"]
  col_groups <- col_groups[col_groups != "country_recorded"]
  
  # Initialize a flag for overwrites
  overwrite_flag <- FALSE
  
  # Loop over unique trailing numbers
  for (group in unique(col_groups)) {
    # Select columns that belong to the current group
    cols_to_collapse <- subscale_data %>% select(response_id, ends_with(paste0("_", group)))
    
    # Check for overwriting by summing the number of non-NA values across rows
    num_non_na <- rowSums(!is.na(cols_to_collapse[-1]))  # Exclude response_id from the summation
    
    # Initialize a set to track previously printed overlapping columns
    previously_printed <- list()
    
    if (any(num_non_na > 1)) {
      overwrite_flag <- TRUE
      # Identify the rows with overlaps
      overlap_rows <- which(num_non_na > 1)
      # For each row with overlap, print the row index and the columns involved
      for (row in overlap_rows) {
        overlapping_cols <- names(cols_to_collapse)[!is.na(cols_to_collapse[row, -1])]  # Exclude response_id
        # Create a named vector to map items to their identifiers
        item_map <- setNames(subscale_items$item_identifier, subscale_items$item)
        
        # Replace the strings in overlapping_cols with the corresponding item_identifier
        overlapping_cols_names <- item_map[overlapping_cols]
        
        # Convert the overlapping columns to a string to use as a unique identifier
        overlapping_cols_str <- paste(sort(overlapping_cols_names), collapse = " and ")
        
        # Check if this combination of overlapping columns has already been printed
        if (!(overlapping_cols_str %in% previously_printed)) {
          warning(paste("Overwriting detected in group", group, 
                        "at row", row, 
                        "with overlapping columns:", 
                        overlapping_cols_str, "<br>"))
          # Add the combination to the set of previously printed overlaps
          previously_printed <- c(previously_printed, overlapping_cols_str)
        }
      }
    }
    
    # Collapse the columns by taking the first non-NA value
    collapsed_col <- apply(cols_to_collapse[-1], 1, function(x) x[!is.na(x)][1])  # Exclude response_id
    
    # Add the collapsed column to the list with a new name
    collapsed_cols <- tibble(
      response_id = cols_to_collapse$response_id,
      !!sym(paste0(unique(subscale_items$subscale_name), "_", group)) := collapsed_col
    )
    
    # should be the safest approach to kepp row integrity because we are merging back to response_id
    fill_up_subscale_data <- fill_up_subscale_data %>% 
      left_join(collapsed_cols, by = "response_id")
  }
  
  # Display message upon completion
  cat("Completed the column collapsing process.<br>")
  
  return(fill_up_subscale_data)
  
}

# Function to calculate Cronbach's alpha
calculate_cronbach_alpha <- function(df) {
  
  cat("Calculating Cronbach's alpha....<br>.")
  
  if (ncol(df) < 2) {
    warning("Cronbach's alpha cannot be calculated on single item....<br>")
    return(NULL)
  }
  
  alpha <- tryCatch({
    ltm::cronbach.alpha(na.omit(df), CI = TRUE)
  }, error = function(e) {
    warning("Error calculating Cronbach's alpha: ", e$message, "<br>")
    return(NULL)
  })
  
  if (!is.null(alpha)) {
    cat("Cronbach's alpha succesfully calculated....<br>")
    return(alpha)
  }
}

# Function to calculate scale scores
calculate_scale_scores <- function(df, group_variable, subscale_name) {
  
  # Extract the most common minimum and maximum across all columns
  min_values <- sapply(df, min, na.rm = TRUE)
  max_values <- sapply(df, max, na.rm = TRUE)
  
  most_common_min <- as.numeric(names(sort(table(min_values), decreasing = TRUE)[1]))
  most_common_max <- as.numeric(names(sort(table(max_values), decreasing = TRUE)[1]))
  
  if (ncol(df) == 1) {
    cat("Only one item so no need to calculate scale or Cronbach....<br>")
    scale_raw <- df
    scale_cronbach <- NULL
  } else {
    
    cat("Calculating scale....<br>")
    # first cronbach's alpha
    scale_cronbach <- calculate_cronbach_alpha(df)
    
    # calculate scale
    keys <- rep(1, ncol(df))
    
    scale_raw <- as.numeric(
      scoreItems(
        keys = keys,
        items = df,
        min = most_common_min, 
        max = most_common_max
      )$scores)
  }
  
  # return scale and stats
  scale_info <- list(
    scale_raw = scale_raw,
    scale_cronbach = scale_cronbach
  )
  
  return(scale_info)
}

Check functions

Code
check_subscale_info_data <- function(subscale_items) {
  
  cat("Checking whether countries have the same number of items....<br>")
  
  # check whether same number across countries
  check_number <- subscale_items %>% 
    group_by(
      country_extracted
    ) %>% 
    summarise(
      n = n()
    )
  
  # Find the most frequent value in column 'n'
  most_frequent_n <- as.numeric(names(sort(table(check_number$n), decreasing = TRUE)[1]))
  
  # Find countries with different values than the most frequent
  differing_values <- check_number[check_number$n != most_frequent_n, ]
  
  # Check if there are any differing values
  if (nrow(differing_values) > 0) {
    message <- "The following countries have a different number of items:<br> "
    for (i in 1:nrow(differing_values)) {
      message <- paste0(message, "Instead of ", most_frequent_n, " ", differing_values$country_extracted[i], " has ", differing_values$n[i])
      if (i < nrow(differing_values)) {
        message <- paste0(message, " and ")
      }
    }
    warning(message, "<br>")
  } else {
    cat("All countries have the same number of items.<br>")
  }
  
  summarized_info_data = list(
    most_frequent_n = most_frequent_n
  )
  
  return(summarized_info_data)
  
}
# for testing
# subscale_items = subscale_info$subscale_items 
# subscale_data = subscale_data_red
check_subscale_data <- function(subscale_items, subscale_data) {
  
  summarized_info_data = check_subscale_info_data(subscale_items)
  
  # check whether there is not more entries per participant than expect
  cat("Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries....<br>")
  
  expected_count <- summarized_info_data$most_frequent_n  # replace this with your expected value
  
  # Count non-missing entries per row
  non_missing_counts <- rowSums(!is.na(subscale_data))
  
  # Initialize a list to store item_identifiers for rows with too many entries
  too_many_entries_identifiers <- list()
  
  # Iterate through rows to check if the number of non-missing entries exceeds the expected value
  for (i in seq_len(nrow(subscale_data))) {
    if (non_missing_counts[i] > expected_count) {
      # Identify columns with non-missing entries
      columns_with_entries <- colnames(subscale_data)[!is.na(subscale_data[i, ])]
      
      # Match the column names with the item column in subscale_data to get the item_identifiers
      matching_identifiers <- subscale_items$item_identifier[match(columns_with_entries, subscale_items$item)]
      
      # Save the matching identifiers
      too_many_entries_identifiers[[length(too_many_entries_identifiers) + 1]] <- matching_identifiers
    }
  }
  
  # Get unique combinations of item_identifiers
  unique_too_many_entries_combinations <- unique(too_many_entries_identifiers)
  
  # Print unique combinations of item_identifiers
  if (length(unique_too_many_entries_combinations) != 0) {
    message <- "The following items have participants with too many responses: "
    for (i in length(unique_too_many_entries_combinations)) {
      message <- paste0(message, "Instead of ", expected_count, ", they have more: ", unique_too_many_entries_combinations[i])
      if (i < length(unique_too_many_entries_combinations)) {
        message <- paste0(message, " and ")
      }
    }
    warning(message, "<br>")
  } else {
    cat("No participant has too many responses....<br>")
  }
  
  # check whether min and max are as expected
  # REFAVOR THIS INTO SCALE INFO MIN MAX (WHERE THEY MEASURED ON THE SAME SCALE!)
  cat("Checking whether minimum and maximum across countries are the same. Not necessarily a problem....<br>")
  
  # Extract the most common minimum and maximum across all columns
  min_values <- sapply(subscale_data, min, na.rm = TRUE)
  max_values <- sapply(subscale_data, max, na.rm = TRUE)
  
  most_common_min <- as.numeric(names(sort(table(min_values), decreasing = TRUE)[1]))
  most_common_max <- as.numeric(names(sort(table(max_values), decreasing = TRUE)[1]))
  
  # Check if each column has that minimum and maximum
  prob_min_max <- FALSE
  warnings_list <- list()
  
  # create warning list
  for (col in names(subscale_data)) {
    col_min <- min(subscale_data[[col]], na.rm = TRUE)
    col_max <- max(subscale_data[[col]], na.rm = TRUE)
    
    if (!(col %in% subscale_items$item)) {
      warning(col, "does not appear in the subscale items list. Please check why!<br>")
    }
    
    col_name <- subscale_items %>% 
      filter(item %in% col) %>% 
      pull(item_identifier)
    
    if (col_min != most_common_min) {
      warnings_list <- c(warnings_list, paste0("Item ", col_name, " not common min (", most_common_min, ") value.<br>"))
      prob_min_max <- TRUE
    }
    if (col_max != most_common_max) {
      warnings_list <- c(warnings_list, paste0("Item ", col_name, " not common max (", most_common_max, ") value.<br>"))
      prob_min_max <- TRUE
    }
  } 
  
  # print warning list
  if (prob_min_max) {
    cat(paste(warnings_list, collapse = ""))
  } else {
    cat("Minimum and maximum as expected....<br>")
  }
}

Clean country

Recoding the country variable so that it corresponds to the actual sample. The table below illustrates the old coded_country and the new one (based on which items people answered.)

Code
# 1) make a named list of the item‐columns for each country
country_map <- split(scale_info$item, scale_info$country_extracted)
country_names <- names(country_map)

# 2) build a matrix (rows = respondents, cols = countries) of "how many non‐NAs"
counts_mat <- sapply(country_names, function(ct) {
  # dt_clean[ , country_map[[ct]]] extracts the block of columns for ‘ct’
  rowSums(!is.na(dt_clean[ , country_map[[ct]], drop = FALSE]))
})

# 3) for each respondent, pick the country with the highest count
#    (ties go to the first one in country_names)
detected   <- country_names[max.col(counts_mat, ties.method = "first")]
max_count  <- apply(counts_mat, 1, max)

# 4) attach back to dt_clean and do your fallback
dt_clean <- dt_clean %>%
  mutate(
    detected    = detected,
    max_count   = max_count,
    country_clean = case_when(
      # no scale‐data at all → fall back on C
      max_count == 0 & C == "UK"            ~ "United Kingdom",
      max_count == 0 & C == "CzechRepublic" ~ "Czech",
      max_count == 0 & C == "SaudiArabia"   ~ "Saudi Arabia",
      max_count == 0                         ~ as.character(C),
      # otherwise use what we detected
      TRUE                                   ~ detected
    )
  ) %>%
  select(-detected, -max_count)

# 5) summary table: original C → cleaned country
dt_clean %>%
  count(original = C, cleaned = country_clean) %>%
  pivot_wider(
    names_from   = cleaned,
    values_from  = n,
    values_fill  = 0
  ) %>% 
  kable(., caption = "The following countries got extracted from scale_info") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
The following countries got extracted from scale_info
original Algeria Argentina Australia Austria Brazil Canada Colombia Czech Denmark Egypt Finland France Germany Greece Hungary India Indonesia Israel Italy Jordan Kuwait Lebanon Malaysia Mexico Morocco Netherlands Nigeria Norway Pakistan Philippines Poland Portugal Romania Saudi Arabia Spain Sweden Thailand Tunisia Turkey United Kingdom US Democrats US Republicans
Algeria 252 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Argentina 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Australia 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Austria 0 0 0 244 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Brazil 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Canada 0 0 0 0 0 241 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Colombia 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CzechRepublic 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Denmark 0 0 0 0 0 0 0 0 233 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Egypt 0 0 0 0 0 0 0 0 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Finland 0 0 0 0 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
France 0 0 0 0 0 0 0 0 0 0 0 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Germany 0 0 0 0 0 0 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Greece 0 0 0 0 0 0 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Hungary 0 0 0 0 0 0 0 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
India 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Indonesia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Israel 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 259 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Italy 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 257 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Jordan 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 259 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Kuwait 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 249 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lebanon 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 245 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Malaysia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mexico 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Morocco 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 259 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Netherlands 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 249 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Nigeria 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Norway 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 245 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Pakistan 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 247 0 0 0 0 0 0 0 0 0 0 0 0 0
Philippines 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0 0 0
Poland 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 259 0 0 0 0 0 0 0 0 0 0 0
Portugal 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 258 0 0 0 0 0 0 0 0 0 0
Romania 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 257 0 0 0 0 0 0 0 0 0
SaudiArabia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 260 0 0 0 0 0 0 0 0
Spain 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 257 0 0 0 0 0 0 0
Sweden 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0
Thailand 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 260 0 0 0 0 0
Tunisia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 247 0 0 0 0
Turkey 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 260 0 0 0
UK 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 256 0 0
US 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 250 259

Run function

Code
# we need to clean the country scale before adding it to the function for the check
# dt_clean <- dt_clean %>% 
#   mutate(
#     country_clean = case_when(
#       C == "UK" ~ "United Kingdom",
#       C == "CzechRepublic" ~ "Czech",
#       C == "SaudiArabia" ~ "Saudi Arabia",
#       TRUE ~ C
#     )
#   )

# for testing; make sure to run the country_clean below as wells
# subscale_name <- "perceived_discrimination"
# subscale_name <- "past_activism"
# df <- dt_clean

# Main function to process each subscale
process_subscale <- function(df, scale_info, subscale_name) {
  cat(paste0("<br><b>Processing subscale: ", subscale_name, "</b><br>"))
  subscale_info <- get_subscale_data(df, scale_info, subscale_name)
  
  # we check whether the extracted subscales have cross-country issues in the info structure
  subscale_data_red <- subscale_info$subscale_data %>% 
    select(-response_id, -starts_with("country"))
  check_subscale_data(subscale_info$subscale_items, subscale_data_red)
  
  # combine subscale data
  subscale_info$subscale_data_combined <- combine_subscale_data(subscale_info$subscale_items, subscale_info$subscale_data)
  
  # make dataframe 
  subscale_data_combined_red <- subscale_info$subscale_data_combined %>% 
    select(-response_id, -starts_with("country"))
  
  # Scale scores
  subscale_info$scale_info <- calculate_scale_scores(
    subscale_data_combined_red, 
    subscale_info$subscale_data_combined$country_recorded,
    subscale_name
  )
  
  # Return the updated dataframe and reliability info
  return(subscale_info)
}

Prep subscales

single items

Code
# initiate list (also important for the actual scales)
results_subscale <- list()
# age
results_subscale[["age"]]$scale_scores <- as.numeric(dt_clean$QID18_TEXT)

# gender
tmp <- as.numeric(dplyr::recode(dt_clean$QID20, "Female" = 0, "Male" = 1, "other" = 2))
results_subscale[["gender"]]$scale_scores <- factor(tmp, levels = c(0, 1, 2), labels = c("Female", "Male", "Other")); rm(tmp)

# religion (other recoded as not enough entries on them)
tmp <- as.numeric(dplyr::recode(
  dt_clean$QID19, "No religion" = 0, "Christian" = 1, "Muslims" = 2, "Buddhist" = 3, "Jewish" = 4,  "Hindu" = 5, "Sikh" = 5, "Other, please specify" = 5)
)
results_subscale[["religion"]]$scale_scores <- factor(
  tmp,
  levels = c(0, 1, 2, 3, 4, 5), 
  labels = c("No_religion", "Christian", "Muslim", "Buddhist", "Jewish", "Other")
); rm(tmp)

# education
tmp <- as.numeric(dplyr::recode(
  dt_clean$QID99, "Primary education" = 0, "General secondary education" = 1, "Vocational education" = 2, "Bachelors degree" = 3, "Higher education" = 4, "Masters degree" = 5, "PhD degree" = 6)
)
results_subscale[["education"]]$scale_scores <- factor(
  tmp,
  levels = c(0, 1, 2, 3, 4, 5, 6), 
  labels = c("Primary", "Secondary", "Vocational", "Bachelor", "Higher", "Master", "PhD")
); rm(tmp)

# political_party_choice
cat("Political party choice still needs to be implemented.<br>")

Political party choice still needs to be implemented.

scales

Code
# Example usage with your specific data
# Assuming dt_clean and scale_info are already loaded

# Apply process_subscale function to each subscale
unique_subscales <- unique(scale_info$subscale_name)

# Filter out unimportant scales
excluded_subscales <- c(
  "unknown",
  "age",
  "gender",
  "religion",
  "education",
  "political_party_choice",
  "timing",
  "ideological_passion", # erroneously added empty question
  "intuition_logic", # erroneously added empty question
  "radical_intentions" # dropped item
)
unique_subscales <- unique_subscales[!unique_subscales %in% excluded_subscales]

# Process each subscale and store results in a list
for (subscale in unique_subscales) {
  results_subscale[[subscale]] <- process_subscale(dt_clean, scale_info, subscale)
}


Processing subscale: violent_intent
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Mexico-radical_intentions-violent_intent-QID828_25 not common max (8) value.
Item Mexico-radical_intentions-violent_intent-QID828_26 not common max (8) value.
Item Mexico-radical_intentions-violent_intent-QID828_27 not common max (8) value.
Item Argentina-radical_intentions-violent_intent-QID824_1 not common max (8) value.
Item Argentina-radical_intentions-violent_intent-QID824_25 not common max (8) value.
Item Argentina-radical_intentions-violent_intent-QID824_26 not common max (8) value.
Item Colombia-radical_intentions-violent_intent-QID826_25 not common max (8) value.
Item Indonesia-radical_intentions-violent_intent-violent_intents_indo_01 not common max (8) value.
Item Indonesia-radical_intentions-violent_intent-violent_intents_indo_02 not common max (8) value.
Item Indonesia-radical_intentions-violent_intent-violent_intents_indo_03 not common max (8) value.
Item Indonesia-radical_intentions-violent_intent-violent_intents_indo_06 not common max (8) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: peaceful_intent
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Brazil-radical_intentions-peaceful_intent-QID209_33 not common max (8) value.
Item Brazil-radical_intentions-peaceful_intent-QID209_35 not common max (8) value.
Item Argentina-radical_intentions-peaceful_intent-QID824_32 not common max (8) value.
Item Argentina-radical_intentions-peaceful_intent-QID824_33 not common max (8) value.
Item Spain-radical_intentions-peaceful_intent-QID830_34 not common max (8) value.
Item Indonesia-radical_intentions-peaceful_intent-peaceful_intents_09 not common max (8) value.
Item Indonesia-radical_intentions-peaceful_intent-peaceful_intents_10 not common min (1) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: past_activism
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: intuition
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Only one item so no need to calculate scale or Cronbach….

Processing subscale: logic
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Only one item so no need to calculate scale or Cronbach….

Processing subscale: harmonious_passion
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Malaysia-ideological_passion-harmonious_passion-QID361_123 not common min (1) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: obsessive_passion
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Portugal-ideological_passion-obsessive_passion-QID226_58 not common max (7) value.
Item Indonesia-ideological_passion-obsessive_passion-obsessive_passion_indo_05 not common max (7) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: commitment_passion
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Malaysia-ideological_passion-commitment_passion-QID361_134 not common min (1) value.
Item Nigeria-ideological_passion-commitment_passion-QID700_70 not common min (1) value.
Item Nigeria-ideological_passion-commitment_passion-QID700_71 not common min (1) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: identity_fusion
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: ingroup_superiority
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: collective_relative_deprivation
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Indonesia-collective_relative_deprivation-collective_relative_deprivation-collective_relative_deprivation_indo_01 not common min (1) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: perceived_discrimination
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Item Portugal-perceived_discrimination-perceived_discrimination-QID220_24 not common max (6) value.
Item Portugal-perceived_discrimination-perceived_discrimination-QID220_25 not common max (6) value.
Item Portugal-perceived_discrimination-perceived_discrimination-QID220_27 not common max (6) value.
Item Egypt-perceived_discrimination-perceived_discrimination-QID624_25 not common max (6) value.
Item Egypt-perceived_discrimination-perceived_discrimination-QID624_29 not common max (6) value.
Item Egypt-perceived_discrimination-perceived_discrimination-QID624_30 not common max (6) value.
Item Jordan-perceived_discrimination-perceived_discrimination-QID626_29 not common max (6) value.
Item Tunisia-perceived_discrimination-perceived_discrimination-QID642_24 not common max (6) value.
Item Tunisia-perceived_discrimination-perceived_discrimination-QID642_25 not common max (6) value.
Item Tunisia-perceived_discrimination-perceived_discrimination-QID642_26 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_01 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_02 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_03 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_04 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_05 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_06 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_07 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_08 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_09 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_10 not common max (6) value.
Item Indonesia-perceived_discrimination-perceived_discrimination-perceived_discrimination_indo_11 not common max (6) value.
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: activist_intent
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: moral_neutralization
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: radical_attitudes
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: anger
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: positive_affect
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Processing subscale: negative_affect
Checking whether countries have the same number of items….
All countries have the same number of items.
Checking whether there are too many entries per participant. If different, some participants saw items meant for other countries….
No participant has too many responses….
Checking whether minimum and maximum across countries are the same. Not necessarily a problem….
Minimum and maximum as expected….
Identify countries per participant….
Completed the country identification process.
Starting the column collapsing process….
Completed the column collapsing process.
Calculating scale….
Calculating Cronbach’s alpha….
.Cronbach’s alpha succesfully calculated….

Code
# Check the structure of results_subscale for "moral_neutralization"
# str(results_subscale[["perceived_discrimination"]])

# Inspect results_subscale for a specific subscale
inspect_subscale <- function(subscale_name) {
  result <- results_subscale[[subscale_name]]
  if (is.null(result) || is.null(result$cronbach_alpha)) {
    warning(paste("No results_subscale found for subscale:", subscale_name))
    return(NULL)
  }
  
  print(result$cronbach_alpha)
  
  # scale_data <- data.frame(scale_scores = result$scale_scores)
  
  first_column_name <- names(scale_data)[1]
  
  ggplot(data = scale_data, aes_string(x = first_column_name)) +
    geom_histogram(binwidth = 1) +
    ggtitle(paste("Histogram of", subscale_name)) +
    theme_minimal()
}

# Example: Inspect results_subscale for a specific subscale
# inspect_subscale("perceived_discrimination")

Dataframes

Items df

Code
# these ones do not have subscale items
dt_items <- tibble(
  response_id = as.character(dt_clean$response_id),
  age = results_subscale$age$scale_scores,
  gender = results_subscale$gender$scale_scores,
  education = results_subscale$education$scale_scores,
  religion = results_subscale$religion$scale_scores,
  country = dt_clean$country_clean, # should probably be moved out of scale collapse script
  intuition = as.numeric(results_subscale$intuition$scale_info$scale_raw$intuition_1),
  logic = as.numeric(results_subscale$logic$scale_info$scale_raw$logic_2)
)
# for testing if needed
# subscale_name = "violent_intent"

# Loop through each element in the results_subscale list
for (subscale_name in names(results_subscale)) {
  # Check if subscale_data_combined exists in the subscale
  if ("subscale_data_combined" %in% names(results_subscale[[subscale_name]])) {
    cat(paste("Joining", subscale_name, "to the individual items dataframe....<br>"))
    # Extract the subscale_data_combined data frame
    subscale_df <- results_subscale[[subscale_name]]$subscale_data_combined 
      # mutate_all(as.numeric)
    
    # Drop the 'country' column
    subscale_df <- subscale_df %>%
      select(-starts_with("country")) %>% 
      mutate(across(starts_with(subscale_name), as.numeric))
    
    # Perform a left join with dt_items on the response_id column
    dt_items <- dt_items %>%
      left_join(subscale_df, by = "response_id")
  }
}

Joining violent_intent to the individual items dataframe….
Joining peaceful_intent to the individual items dataframe….
Joining past_activism to the individual items dataframe….
Joining intuition to the individual items dataframe….
Joining logic to the individual items dataframe….
Joining harmonious_passion to the individual items dataframe….
Joining obsessive_passion to the individual items dataframe….
Joining commitment_passion to the individual items dataframe….
Joining identity_fusion to the individual items dataframe….
Joining ingroup_superiority to the individual items dataframe….
Joining collective_relative_deprivation to the individual items dataframe….
Joining perceived_discrimination to the individual items dataframe….
Joining activist_intent to the individual items dataframe….
Joining moral_neutralization to the individual items dataframe….
Joining radical_attitudes to the individual items dataframe….
Joining anger to the individual items dataframe….
Joining positive_affect to the individual items dataframe….
Joining negative_affect to the individual items dataframe….

add jihadist

Code
load("../data/wrangled_data/dt_items_jih.RData")

The result_sanity$summary data frame provides a column-by-column check
for all variables with the same name in both data frames.

Columns:

  • column: name of the shared variable
  • type_df1 / type_df2: detected data type in each data frame
  • n_df1 / n_df2: number of rows in each column
  • na_rate_df1 / na_rate_df2: proportion of missing values
  • ks_p: p-value from Kolmogorov–Smirnov test (numeric/date)
  • range_overlap: fraction of overlapping value ranges (numeric/date)
  • max_qdiff_norm: maximum normalized quantile difference (numeric/date)
  • jaccard_levels: Jaccard overlap of unique levels (categorical)
  • chisq_p: p-value from chi-squared test on distributions (categorical)
  • logical_gap: absolute difference in proportions of TRUE (logical)
  • verdict: "similar_enough" or "probably_not_same"
  • note: short explanation of the metrics used

Usage:
This table helps identify whether same-named columns in the two data frames
most likely represent the same underlying item. Columns flagged as
"probably_not_same" should be inspected carefully before rbinding.

Code
result_sanity_items <- check_rbind_sanity(dt_items, dt_items_jih)

— rbind sanity check: dt_items vs dt_items_jih — Shared columns: 49

⛔ Hard fails:

  • age
  • country
  • response_id

⚠️ Probably different items:

  • education
  • gender
  • religion

❓ Insufficient data:

  • intuition_1
  • logic_2

✅ Similar enough:

  • anger_1
  • anger_10
  • anger_3
  • anger_9
  • collective_relative_deprivation_4
  • commitment_passion_15
  • commitment_passion_16
  • harmonious_passion_10
  • harmonious_passion_5
  • ingroup_superiority_2
  • ingroup_superiority_4
  • moral_neutralization_10
  • moral_neutralization_11
  • moral_neutralization_13
  • moral_neutralization_14
  • moral_neutralization_15
  • moral_neutralization_16
  • moral_neutralization_4
  • moral_neutralization_6
  • negative_affect_10
  • negative_affect_6
  • negative_affect_7
  • negative_affect_8
  • negative_affect_9
  • obsessive_passion_11
  • obsessive_passion_7
  • past_activism_2
  • past_activism_4
  • peaceful_intent_11
  • peaceful_intent_9
  • perceived_discrimination_7
  • perceived_discrimination_8
  • positive_affect_1
  • positive_affect_2
  • positive_affect_3
  • positive_affect_4
  • positive_affect_5
  • radical_attitudes_2
  • radical_attitudes_3
  • violent_intent_1
  • violent_intent_6
Code
result_sanity_items$summary %>% 
  kable(., caption = "Rbind sanity check items") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
Rbind sanity check items
column type_df1 type_df2 n_df1 n_df2 na_rate_df1 na_rate_df2 min_equal max_equal range_overlap trimmed_overlap hellinger ks_equaln_reject max_qdiff_norm jaccard_levels chisq_p logical_gap hard_fail hard_fail_reason verdict note
age numeric numeric 10422 80 0.000 0.025 FALSE FALSE NA NA NA NA NA NA NA NA TRUE numeric min/max mismatch: [18,112] vs [20,63] (tol=0) hard_fail min/max differ
country character character 10422 80 0.000 0.000 NA NA NA NA NA NA NA NA NA NA TRUE categorical new levels in dt_items_jih not in dt_items: Jihadist hard_fail new levels present in df2
response_id character character 10422 80 0.000 0.000 NA NA NA NA NA NA NA NA NA NA TRUE categorical new levels in dt_items_jih not in dt_items: 2020007970, 2020007408, 2009037529, 2018012441, 2015000958, 9835504361, 2017006286, 2021009230, 2006003109, 2004003886 hard_fail new levels present in df2
intuition_1 numeric numeric 10422 80 0.000 1.000 NA NA NA NA NA NA NA NA NA NA FALSE NA insufficient_data numeric: no finite values in one or both data sets
logic_2 numeric numeric 10422 80 0.000 1.000 NA NA NA NA NA NA NA NA NA NA FALSE NA insufficient_data numeric: no finite values in one or both data sets
education character character 10422 80 0.000 0.075 NA NA NA NA NA NA NA 0.4285714 0 NA FALSE NA probably_not_same cat: jaccard=0.43; chisq_p=0.000; levels: 7 vs 3
gender character character 10422 80 0.000 0.000 NA NA NA NA NA NA NA 0.3333333 0 NA FALSE NA probably_not_same cat: jaccard=0.33; chisq_p=0.000; levels: 3 vs 1
religion character character 10422 80 0.000 0.000 NA NA NA NA NA NA NA 0.1666667 0 NA FALSE NA probably_not_same cat: jaccard=0.17; chisq_p=0.000; levels: 6 vs 1
anger_1 numeric numeric 10422 80 0.001 0.075 TRUE TRUE 1 1.0000000 0.9808659 0.960 0.2333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.98; KS_reject=0.96; max_qdiff_norm=0.23 [Likert-aware]
anger_10 numeric numeric 10422 80 0.002 0.100 TRUE TRUE 1 0.8000000 0.9050705 0.995 0.3083333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.80; H=0.91; KS_reject=0.99; max_qdiff_norm=0.31 [Likert-aware]
anger_3 numeric numeric 10422 80 0.002 0.062 TRUE TRUE 1 1.0000000 0.9049097 0.970 0.2333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.90; KS_reject=0.97; max_qdiff_norm=0.23 [Likert-aware]
anger_9 numeric numeric 10422 80 0.002 0.062 TRUE TRUE 1 0.8000000 0.8448815 1.000 0.6000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.80; H=0.84; KS_reject=1.00; max_qdiff_norm=0.60 [Likert-aware]
collective_relative_deprivation_4 numeric numeric 10422 80 0.000 0.125 TRUE TRUE 1 1.0000000 0.2121653 0.140 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.21; KS_reject=0.14; max_qdiff_norm=0.17 [Likert-aware]
commitment_passion_15 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 1.0000000 0.2976553 0.520 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.30; KS_reject=0.52; max_qdiff_norm=0.17 [Likert-aware]
commitment_passion_16 numeric numeric 10422 80 0.001 0.150 TRUE TRUE 1 1.0000000 0.2507456 0.280 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.25; KS_reject=0.28; max_qdiff_norm=0.17 [Likert-aware]
harmonious_passion_10 numeric numeric 10422 80 0.000 0.150 TRUE TRUE 1 1.0000000 0.4256429 0.565 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.43; KS_reject=0.56; max_qdiff_norm=0.33 [Likert-aware]
harmonious_passion_5 numeric numeric 10422 80 0.000 0.150 TRUE TRUE 1 1.0000000 0.3115771 0.600 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.31; KS_reject=0.60; max_qdiff_norm=0.33 [Likert-aware]
ingroup_superiority_2 numeric numeric 10422 80 0.000 0.200 TRUE TRUE 1 1.0000000 0.4320909 0.995 0.5000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.43; KS_reject=0.99; max_qdiff_norm=0.50 [Likert-aware]
ingroup_superiority_4 numeric numeric 10422 80 0.000 0.162 TRUE TRUE 1 1.0000000 0.4936518 0.995 0.6666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.49; KS_reject=0.99; max_qdiff_norm=0.67 [Likert-aware]
moral_neutralization_10 numeric numeric 10422 80 0.002 0.100 TRUE TRUE 1 0.8333333 0.2379671 0.160 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.83; H=0.24; KS_reject=0.16; max_qdiff_norm=0.17 [Likert-aware]
moral_neutralization_11 numeric numeric 10422 80 0.003 0.088 TRUE TRUE 1 0.8333333 0.1536016 0.075 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.83; H=0.15; KS_reject=0.07; max_qdiff_norm=0.17 [Likert-aware]
moral_neutralization_13 numeric numeric 10422 80 0.003 0.112 TRUE TRUE 1 0.6666667 0.3177573 0.360 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.67; H=0.32; KS_reject=0.36; max_qdiff_norm=0.33 [Likert-aware]
moral_neutralization_14 numeric numeric 10422 80 0.003 0.100 TRUE TRUE 1 0.6900000 0.3119899 0.800 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.69; H=0.31; KS_reject=0.80; max_qdiff_norm=0.33 [Likert-aware]
moral_neutralization_15 numeric numeric 10422 80 0.004 0.088 TRUE TRUE 1 0.9500000 0.3017906 0.220 0.1666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.95; H=0.30; KS_reject=0.22; max_qdiff_norm=0.17 [Likert-aware]
moral_neutralization_16 numeric numeric 10422 80 0.003 0.088 TRUE TRUE 1 0.0800000 0.4359761 1.000 0.7666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.08; H=0.44; KS_reject=1.00; max_qdiff_norm=0.77 [Likert-aware]
moral_neutralization_4 numeric numeric 10422 80 0.002 0.112 TRUE TRUE 1 0.7500000 0.3094165 0.700 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=0.31; KS_reject=0.70; max_qdiff_norm=0.33 [Likert-aware]
moral_neutralization_6 numeric numeric 10422 80 0.003 0.088 TRUE TRUE 1 1.0000000 0.3366759 0.940 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.34; KS_reject=0.94; max_qdiff_norm=0.33 [Likert-aware]
negative_affect_10 numeric numeric 10422 80 0.000 0.100 TRUE TRUE 1 0.7500000 0.8568007 0.490 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=0.86; KS_reject=0.49; max_qdiff_norm=0.25 [Likert-aware]
negative_affect_6 numeric numeric 10422 80 0.000 0.100 TRUE TRUE 1 1.0000000 1.0264044 0.850 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=1.03; KS_reject=0.85; max_qdiff_norm=0.25 [Likert-aware]
negative_affect_7 numeric numeric 10422 80 0.000 0.062 TRUE TRUE 1 1.0000000 1.0685410 0.880 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=1.07; KS_reject=0.88; max_qdiff_norm=0.25 [Likert-aware]
negative_affect_8 numeric numeric 10422 80 0.000 0.075 TRUE TRUE 1 1.0000000 0.9623875 0.765 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.96; KS_reject=0.77; max_qdiff_norm=0.25 [Likert-aware]
negative_affect_9 numeric numeric 10422 80 0.000 0.062 TRUE TRUE 1 0.7500000 0.9006621 0.535 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=0.90; KS_reject=0.54; max_qdiff_norm=0.25 [Likert-aware]
obsessive_passion_11 numeric numeric 10422 80 0.000 0.162 TRUE TRUE 1 0.8333333 0.3214360 0.915 0.5000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.83; H=0.32; KS_reject=0.92; max_qdiff_norm=0.50 [Likert-aware]
obsessive_passion_7 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 1.0000000 0.3410432 0.885 0.5000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.34; KS_reject=0.89; max_qdiff_norm=0.50 [Likert-aware]
past_activism_2 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 1.0000000 0.6173747 0.870 1.0000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.62; KS_reject=0.87; max_qdiff_norm=1.00 [Likert-aware]
past_activism_4 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 1.0000000 0.5747046 0.795 1.0000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.57; KS_reject=0.80; max_qdiff_norm=1.00 [Likert-aware]
peaceful_intent_11 numeric numeric 10422 80 0.000 0.188 TRUE TRUE 1 0.8571429 0.6207190 0.995 0.5714286 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.86; H=0.62; KS_reject=0.99; max_qdiff_norm=0.57 [Likert-aware]
peaceful_intent_9 numeric numeric 10422 80 0.000 0.175 TRUE TRUE 1 0.8571429 0.6181277 0.955 0.4285714 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.86; H=0.62; KS_reject=0.95; max_qdiff_norm=0.43 [Likert-aware]
perceived_discrimination_7 numeric numeric 10422 80 0.000 0.038 TRUE TRUE 1 0.6666667 0.5180013 1.000 0.6666667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.67; H=0.52; KS_reject=1.00; max_qdiff_norm=0.67 [Likert-aware]
perceived_discrimination_8 numeric numeric 10422 80 0.000 0.025 TRUE TRUE 1 0.6666667 0.3584239 0.540 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.67; H=0.36; KS_reject=0.54; max_qdiff_norm=0.33 [Likert-aware]
positive_affect_1 numeric numeric 10422 80 0.000 0.112 TRUE TRUE 1 0.7500000 1.0244166 0.925 0.3333333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=1.02; KS_reject=0.93; max_qdiff_norm=0.33 [Likert-aware]
positive_affect_2 numeric numeric 10422 80 0.000 0.075 TRUE TRUE 1 0.7500000 1.0958409 0.970 0.3416667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=1.10; KS_reject=0.97; max_qdiff_norm=0.34 [Likert-aware]
positive_affect_3 numeric numeric 10422 80 0.000 0.075 TRUE TRUE 1 0.7500000 1.0646116 0.990 0.5000000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=1.06; KS_reject=0.99; max_qdiff_norm=0.50 [Likert-aware]
positive_affect_4 numeric numeric 10422 80 0.000 0.100 TRUE TRUE 1 0.7500000 1.0619999 0.970 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.75; H=1.06; KS_reject=0.97; max_qdiff_norm=0.25 [Likert-aware]
positive_affect_5 numeric numeric 10422 80 0.000 0.075 TRUE TRUE 1 0.9000000 1.0238376 0.990 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.90; H=1.02; KS_reject=0.99; max_qdiff_norm=0.25 [Likert-aware]
radical_attitudes_2 numeric numeric 10422 80 0.000 0.075 TRUE TRUE 1 0.8571429 0.3391892 0.470 0.4285714 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.86; H=0.34; KS_reject=0.47; max_qdiff_norm=0.43 [Likert-aware]
radical_attitudes_3 numeric numeric 10422 80 0.000 0.088 TRUE TRUE 1 0.8571429 0.4173825 0.130 0.1428571 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.86; H=0.42; KS_reject=0.13; max_qdiff_norm=0.14 [Likert-aware]
violent_intent_1 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 0.9183673 0.3885728 0.620 0.4285714 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.92; H=0.39; KS_reject=0.62; max_qdiff_norm=0.43 [Likert-aware]
violent_intent_6 numeric numeric 10422 80 0.000 0.138 TRUE TRUE 1 0.9333333 0.4117845 0.895 0.4285714 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.93; H=0.41; KS_reject=0.90; max_qdiff_norm=0.43 [Likert-aware]
Code
cat("Hard fails are not a problem as to be expected and wanted. Probably different items lack variability found in the full data so also no problem and insufficient data items were items that were not recorded in Jihadist dataset.")

Hard fails are not a problem as to be expected and wanted. Probably different items lack variability found in the full data so also no problem and insufficient data items were items that were not recorded in Jihadist dataset.

Code
dt_items <- bind_rows(dt_items, dt_items_jih)
# we save this later to harmonize with dt_ana

## These are items that were not measured as scales in the Jihadist sample and are, therefore, dropped here
dt_items <- dt_items %>% 
  select(
    -activist_intent,
    -identity_fusion
  )

drop indonesia data

Due to sampling missmatches, these participants needed to be dropped. Their ideology was strongly focused on building peace.

Code
dt_items <- dt_items %>%
  filter(country != "Indonesia")

Analysis df

Create full

Code
# combing them also serves as check that dataframes have the same nrow
dt_ana_base <- tibble(
  response_id = as.character(dt_clean$response_id),
  age = results_subscale$age$scale_scores,
  gender = results_subscale$gender$scale_scores,
  education = results_subscale$education$scale_scores,
  education_num = as.numeric(education),
  religion = results_subscale$religion$scale_scores,
  country = dt_clean$country_clean, # should probably be moved out of scale collapse script
  moral_neutralization = as.numeric(results_subscale$moral_neutralization$scale_info$scale_raw),
  anger = as.numeric(results_subscale$anger$scale_info$scale_raw),
  radical_attitudes = as.numeric(results_subscale$radical_attitudes$scale_info$scale_raw),
  positive_affect = as.numeric(results_subscale$positive_affect$scale_info$scale_raw),
  negative_affect = as.numeric(results_subscale$negative_affect$scale_info$scale_raw),
  past_activism = as.numeric(results_subscale$past_activism$scale_info$scale_raw),
  collective_relative_deprivation = as.numeric(results_subscale$collective_relative_deprivation$scale_info$scale_raw),
  perceived_discrimination = as.numeric(results_subscale$perceived_discrimination$scale_info$scale_raw),
  ingroup_superiority = as.numeric(results_subscale$ingroup_superiority$scale_info$scale_raw),
  activist_intent = as.numeric(results_subscale$activist_intent$scale_info$scale_raw),
  harmonious_passion = as.numeric(results_subscale$harmonious_passion$scale_info$scale_raw),
  obsessive_passion = as.numeric(results_subscale$obsessive_passion$scale_info$scale_raw),
  commitment_passion = as.numeric(results_subscale$commitment_passion$scale_info$scale_raw),
  identity_fusion = as.numeric(results_subscale$identity_fusion$scale_info$scale_raw),
  intuition = as.numeric(results_subscale$intuition$scale_info$scale_raw$intuition_1),
  logic = as.numeric(results_subscale$logic$scale_info$scale_raw$logic_2),
  violent_intent = as.numeric(results_subscale$violent_intent$scale_info$scale_raw),
  peaceful_intent = as.numeric(results_subscale$peaceful_intent$scale_info$scale_raw)
)

add jihadist

Code
load("../data/wrangled_data/dt_ana_base_jih.RData")
Code
result_sanity_base <- check_rbind_sanity(dt_ana_base, dt_ana_base_jih)

— rbind sanity check: dt_ana_base vs dt_ana_base_jih — Shared columns: 25

⛔ Hard fails:

  • age
  • country
  • education_num
  • moral_neutralization
  • response_id

⚠️ Probably different items:

  • education
  • gender
  • religion

❓ Insufficient data:

  • activist_intent
  • intuition
  • logic

✅ Similar enough:

  • anger
  • collective_relative_deprivation
  • commitment_passion
  • harmonious_passion
  • identity_fusion
  • ingroup_superiority
  • negative_affect
  • obsessive_passion
  • past_activism
  • peaceful_intent
  • perceived_discrimination
  • positive_affect
  • radical_attitudes
  • violent_intent
Code
result_sanity_base$summary %>% 
  kable(., caption = "Rbind sanity check items") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
Rbind sanity check items
column type_df1 type_df2 n_df1 n_df2 na_rate_df1 na_rate_df2 min_equal max_equal range_overlap trimmed_overlap hellinger ks_equaln_reject max_qdiff_norm jaccard_levels chisq_p logical_gap hard_fail hard_fail_reason verdict note
age numeric numeric 10422 80 0 0.025 FALSE FALSE NA NA NA NA NA NA NA NA TRUE numeric min/max mismatch: [18,112] vs [20,63] (tol=0) hard_fail min/max differ
country character character 10422 80 0 0.000 NA NA NA NA NA NA NA NA NA NA TRUE categorical new levels in dt_ana_base_jih not in dt_ana_base: Jihadist hard_fail new levels present in df2
education_num numeric numeric 10422 80 0 0.075 TRUE FALSE NA NA NA NA NA NA NA NA TRUE numeric min/max mismatch: [1,7] vs [1,5] (tol=0) hard_fail min/max differ
moral_neutralization numeric numeric 10422 80 0 0.000 TRUE FALSE NA NA NA NA NA NA NA NA TRUE numeric min/max mismatch: [1,7] vs [1,4.875] (tol=0) hard_fail min/max differ
response_id character character 10422 80 0 0.000 NA NA NA NA NA NA NA NA NA NA TRUE categorical new levels in dt_ana_base_jih not in dt_ana_base: 2020007970, 2020007408, 2009037529, 2018012441, 2015000958, 9835504361, 2017006286, 2021009230, 2006003109, 2004003886 hard_fail new levels present in df2
activist_intent numeric numeric 10422 80 0 1.000 NA NA NA NA NA NA NA NA NA NA FALSE NA insufficient_data numeric: no finite values in one or both data sets
intuition numeric numeric 10422 80 0 1.000 NA NA NA NA NA NA NA NA NA NA FALSE NA insufficient_data numeric: no finite values in one or both data sets
logic numeric numeric 10422 80 0 1.000 NA NA NA NA NA NA NA NA NA NA FALSE NA insufficient_data numeric: no finite values in one or both data sets
education character character 10422 80 0 0.075 NA NA NA NA NA NA NA 0.4285714 0 NA FALSE NA probably_not_same cat: jaccard=0.43; chisq_p=0.000; levels: 7 vs 3
gender character character 10422 80 0 0.000 NA NA NA NA NA NA NA 0.3333333 0 NA FALSE NA probably_not_same cat: jaccard=0.33; chisq_p=0.000; levels: 3 vs 1
religion character character 10422 80 0 0.000 NA NA NA NA NA NA NA 0.1666667 0 NA FALSE NA probably_not_same cat: jaccard=0.17; chisq_p=0.000; levels: 6 vs 1
anger numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.7401361 0.4131908 0.995 0.2500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.74; H=0.41; KS_reject=0.99; max_qdiff_norm=0.25 [Likert-aware]
collective_relative_deprivation numeric numeric 10422 80 0 0.125 TRUE TRUE 1 0.8055556 0.6085637 0.995 0.2222222 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.81; H=0.61; KS_reject=0.99; max_qdiff_norm=0.22 [Likert-aware]
commitment_passion numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.9583333 0.3909719 0.750 0.2125000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.96; H=0.39; KS_reject=0.75; max_qdiff_norm=0.21 [Likert-aware]
harmonious_passion numeric numeric 10422 80 0 0.000 TRUE TRUE 1 1.0000000 0.3664419 0.590 0.1944444 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.37; KS_reject=0.59; max_qdiff_norm=0.19 [Likert-aware]
identity_fusion numeric numeric 10422 80 0 0.062 TRUE TRUE 1 0.9523810 0.8897086 1.000 0.4761905 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.95; H=0.89; KS_reject=1.00; max_qdiff_norm=0.48 [Likert-aware]
ingroup_superiority numeric numeric 10422 80 0 0.000 TRUE TRUE 1 1.0000000 0.5555917 1.000 0.4583333 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=1.00; H=0.56; KS_reject=1.00; max_qdiff_norm=0.46 [Likert-aware]
negative_affect numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.9355509 0.2459988 0.660 0.1166667 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.94; H=0.25; KS_reject=0.66; max_qdiff_norm=0.12 [Likert-aware]
obsessive_passion numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.8050000 0.4471840 1.000 0.4444444 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.80; H=0.45; KS_reject=1.00; max_qdiff_norm=0.44 [Likert-aware]
past_activism numeric numeric 10422 80 0 0.138 TRUE TRUE 1 0.5000000 1.4054694 1.000 0.7500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.50; H=1.41; KS_reject=1.00; max_qdiff_norm=0.75 [Likert-aware]
peaceful_intent numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.8571429 0.4634721 1.000 0.3809524 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.86; H=0.46; KS_reject=1.00; max_qdiff_norm=0.38 [Likert-aware]
perceived_discrimination numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.6363636 0.3946199 0.965 0.4064394 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.64; H=0.39; KS_reject=0.96; max_qdiff_norm=0.41 [Likert-aware]
positive_affect numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.7826087 0.3688311 0.145 0.1500000 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.78; H=0.37; KS_reject=0.14; max_qdiff_norm=0.15 [Likert-aware]
radical_attitudes numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.8528785 0.3367368 0.465 0.2142857 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.85; H=0.34; KS_reject=0.47; max_qdiff_norm=0.21 [Likert-aware]
violent_intent numeric numeric 10422 80 0 0.000 TRUE TRUE 1 0.7011218 0.4350303 1.000 0.4285714 NA NA NA FALSE NA similar_enough num: min_equal=TRUE; max_equal=TRUE; range_overlap=1.00; trimmed_overlap=0.70; H=0.44; KS_reject=1.00; max_qdiff_norm=0.43 [Likert-aware]
Code
cat("Hard fails are not a problem as to be expected and wanted. Moral neutralization is skewed but same endpoints that so no problem but gets flagged here. The probably different items are also fine as they just have different levels (missing the variability of the large base set). The insufficient data are the ones that did not get measured. <br> Info: Identity fusion got recoded to 0,7 from 0,1. ")

Hard fails are not a problem as to be expected and wanted. Moral neutralization is skewed but same endpoints that so no problem but gets flagged here. The probably different items are also fine as they just have different levels (missing the variability of the large base set). The insufficient data are the ones that did not get measured.
Info: Identity fusion got recoded to 0,7 from 0,1.

Code
dt_ana_base <- bind_rows(dt_ana_base, dt_ana_base_jih)

impute jihadist

Code
res <- impute_flex(
  dt_ana_base,
  scope = "scoped",
  country_var = "country",
  country_value = "Jihadist",
  target_vars = c("activist_intent","intuition","logic",
                  "past_activism","collective_relative_deprivation"),
  id_vars = "response_id",
  m = 20,
  maxit = 10,
  seed = 42,
  verbose = TRUE,
  parallel_mode = "cluster",                # <— turn on cluster backend
  cores = parallel::detectCores() - 2,
  cl_type = if (.Platform$OS.type == "windows") "PSOCK" else "FORK"
)

Will impute 261 values across 5 variable(s). Top variables by # of cells to impute: - activist_intent: 80 - intuition: 80 - logic: 80 - past_activism: 11 - collective_relative_deprivation: 10

Code
dt_ana_base <- res$completed

drop indonesia data

Due to sampling missmatches, these participants needed to be dropped. Their ideology was strongly focused on building peace.

Code
dt_ana_base <- dt_ana_base %>%
  filter(country != "Indonesia")

Create dichotomous

Code
# add left vs right vs religious as new scale
dt_orientation <- read.csv("../data/mapping/parties_on_political_spectrum.csv", sep = ";")

dt_orientation %>%
  kable(., caption = "We use the following orientation values for the merge") %>% 
  kable_styling(full_width = F, latex_options = c("hold_position", "scale-down")) %>%
  scroll_box(width = "100%", height = "600px")
We use the following orientation values for the merge
country group orientation
Argentina Frente de Todos Left
Australia Australian Labor Party Left
Austria Österreichische Volkspartei Right
Brazil Partido Liberal Right
Canada Liberal Party of Canada Left
Colombia Partido Liberal Colombiano Left
Czech ANO 2011 Right
Denmark Socialdemokratiet Left
Finland Sosialidemokraattinen puolue Left
France La République En Marche Right
Germany Sozialdemokratische Partei Deutschland Left
Greece Nea Dimokratía Right
Hungary Fidesz-KDNP Right
Israel Likud supporters Right
Italy Fratelli d'Italia Right
Mexico Movimiento Regeneración Nacional Right
Netherlands Volkspartij voor Vrijheid en Democratie Right
Norway Arbeiderpartiet Left
Poland Prawo i Sprawiedliwość Right
Portugal Partido Socialista Left
Romania Partidul Social Democrat Left
Spain Partido Socialista Obrero Español (PSOE) Left
Sweden Sveriges Socialdemokratiska arbetareparti Left
Thailand Pheu Thai Party Right
Turkey Adalet ve Kalkınma Partisi Right
United Kingdom Conservative Party Right
US Democrats Democrats Left
US Republicans Republicans Right
India Hindu Religious Hinduism
Algeria Muslim Religious Islam
Egypt Muslim Religious Islam
Indonesia Muslim Religious Islam
Jordan Muslim Religious Islam
Kuwait Muslim Religious Islam
Lebanon Muslim Religious Islam
Malaysia Muslim Religious Islam
Morocco Muslim Religious Islam
Nigeria Muslim Religious Islam
Pakistan Muslim Religious Islam
Philippines Muslim Religious Islam
Saudi Arabia Muslim Religious Islam
Tunisia Muslim Religious Islam
Jihadist Muslim Religious Islam
Code
# 1) Identify any parties in dt_ana_base that aren’t in dt_orientation
missing_parties <- setdiff(dt_ana_base$country, dt_orientation$country)

if (length(missing_parties) > 0) {
  warning(
    sprintf(
      "No orientation mapping for %d country(ies): %s",
      length(missing_parties),
      paste(unique(missing_parties), collapse = ", ")
    )
  )
}
Code
# demographics
dt_ana_dicho <- dt_ana_base %>% 
  left_join(dt_orientation, by = "country") %>% 
  transmute(
    response_id = response_id,
    noRel_vs_christian = as.numeric(religion == "Christian"),
    noRel_vs_muslim = as.numeric(religion == "Muslim"),
    noRel_vs_buddhist = as.numeric(religion == "Buddhist"),
    noRel_vs_jewish = as.numeric(religion == "Jewish"),
    noRel_vs_other = as.numeric(religion == "Other"),
    left_vs_right = as.numeric(orientation == "Right"),
    left_vs_religious = as.numeric(str_detect(orientation, regex("Religious", ignore_case = TRUE))),
    female_vs_male = as.numeric(ifelse(gender == "Female", 1, ifelse(gender == "Male", 0, NA)))
  )

# save relevant dichotomous variables
relevant_dicho_vars <- names(dt_ana_dicho)[!grepl("response_id", names(dt_ana_dicho))]

# create dt ana_full
dt_ana_full <- dplyr::left_join(dt_ana_base, dt_ana_dicho, by = "response_id")

Center

Code
source("../scripts/functions/calculate-grouped-scales.R")

relevant_vars <- c(
    "age",
    "education_num",
    "moral_neutralization",
    "anger",
    "radical_attitudes",
    # "positive_affect",
    "negative_affect",
    "past_activism",
    "collective_relative_deprivation",
    "perceived_discrimination",
    "ingroup_superiority",
    "activist_intent",
    # "harmonious_passion",
    "obsessive_passion",
    "commitment_passion",
    "identity_fusion",
    "intuition",
    "logic",
    "violent_intent", # no need for centering as DV
    "peaceful_intent" # no need for centering as DV
  )

dt_ana_full <- calculate_grouped_scales(
  data = dt_ana_full,
  grouping_var = country,
  variables = relevant_vars
)

Create analysis dfs

Dropping scales

We are dropping harmonious passion and positive affect due to mismatches with the previous meta-analysis and high multicollinearity.

Code
dt_ana_full <- dt_ana_full %>% 
  select(
    -starts_with("harmonious_passion"),
    -starts_with("positive_affect")
  )

Dropping participants

Code
# 1. How many rows we start with
initial_rows <- nrow(dt_ana_full)

# 2. Extract only the rows that have *any* missing value
missing_rows <- dt_ana_full %>% 
  filter(!complete.cases(.))

# 3. Build a long‐format summary: for each country & each variable, how many missing?
missing_by_country <- missing_rows %>%
  # turn every column except country into a logical is.na(.) flag
  mutate(across(-country, ~ is.na(.))) %>%
  # pivot so that each row is one country/variable/is_missing
  pivot_longer(
    cols = -country,
    names_to  = "variable",
    values_to = "is_missing"
  ) %>%
  filter(is_missing) %>%                            # keep only the TRUEs
  count(country, variable, name = "n_missing") %>% # tally
  arrange(country, desc(n_missing))

# 4. (Optional) A wide‐format version, so you can see at a glance each country’s missing count per column
missing_wide <- missing_by_country %>%
  pivot_wider(
    names_from  = variable,
    values_from = n_missing,
    values_fill = 0
  ) %>%
  # and maybe a total across all cols
  mutate(total_missing = rowSums(across(-country)))

# 5. Print a little summary
cat("We removed", nrow(missing_rows), "rows due to missingness.\n\n")

We removed 28 rows due to missingness.

Code
# 6. Render the long table in kable
missing_by_country %>%
  kable(
    caption = "Missing values by country and variable",
    digits  = 0
  ) %>%
  kable_styling(
    full_width      = FALSE,
    latex_options   = c("hold_position","scale-down")
  ) %>%
  scroll_box(
    width  = "100%",
    height = "600px"
  )
Missing values by country and variable
country variable n_missing
Australia female_vs_male 1
Austria female_vs_male 2
Brazil female_vs_male 1
Finland female_vs_male 1
Germany female_vs_male 1
India female_vs_male 1
Italy female_vs_male 2
Jihadist activist_intent 12
Jihadist activist_intent_cw 12
Jihadist activist_intent_gmc 12
Jihadist activist_intent_gmz 12
Jihadist activist_intent_zw 12
Jihadist intuition 12
Jihadist intuition_cw 12
Jihadist intuition_gmc 12
Jihadist intuition_gmz 12
Jihadist intuition_zw 12
Jihadist logic 12
Jihadist logic_cw 12
Jihadist logic_gmc 12
Jihadist logic_gmz 12
Jihadist logic_zw 12
Jihadist education 6
Jihadist education_num 6
Jihadist education_num_cw 6
Jihadist education_num_gmc 6
Jihadist education_num_gmz 6
Jihadist education_num_zw 6
Jihadist past_activism 6
Jihadist past_activism_cw 6
Jihadist past_activism_gmc 6
Jihadist past_activism_gmz 6
Jihadist past_activism_zw 6
Jihadist identity_fusion 5
Jihadist identity_fusion_cw 5
Jihadist identity_fusion_gmc 5
Jihadist identity_fusion_gmz 5
Jihadist identity_fusion_zw 5
Jihadist collective_relative_deprivation 3
Jihadist collective_relative_deprivation_cw 3
Jihadist collective_relative_deprivation_gmc 3
Jihadist collective_relative_deprivation_gmz 3
Jihadist collective_relative_deprivation_zw 3
Jihadist age 2
Jihadist age_cw 2
Jihadist age_gmc 2
Jihadist age_gmz 2
Jihadist age_zw 2
Jordan female_vs_male 2
Lebanon female_vs_male 2
Mexico female_vs_male 1
Nigeria female_vs_male 1
Thailand female_vs_male 1
Code
# Now remove rows with any missing values
dt_ana_full <- dt_ana_full %>%
  filter(complete.cases(.))

Raw

Code
dt_ana_prep <- dt_ana_full %>% 
  select(
    all_of(relevant_vars),
    all_of(relevant_dicho_vars)
  )

dt_ana_violent <- dt_ana_prep %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("peaceful_intent"),
  )
dt_ana_violent_explo <- dt_ana_prep %>% 
  select(
    -starts_with("peaceful_intent"),
  )

dt_ana_peaceful <- dt_ana_prep %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("violent_intent"),
  )
dt_ana_peaceful_explo <- dt_ana_prep %>% 
  select(
    -starts_with("violent_intent"),
  )

Centered Grand Mean

Code
dt_ana_prep_gmc <- dt_ana_full %>% 
  select(
    peaceful_intent,
    violent_intent,
    all_of(relevant_dicho_vars),
    ends_with("_gmc")
  )

dt_ana_violent_gmc <- dt_ana_prep_gmc %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("peaceful_intent"),
    -violent_intent_gmc
  )
dt_ana_violent_explo_gmc <- dt_ana_prep_gmc %>% 
  select(
    -starts_with("peaceful_intent"),
    -violent_intent_gmc
  )

dt_ana_peaceful_gmc <- dt_ana_prep_gmc %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("violent_intent"),
    -peaceful_intent_gmc
  )
dt_ana_peaceful_explo_gmc <- dt_ana_prep_gmc %>% 
  select(
    -starts_with("violent_intent"),
    -peaceful_intent_gmc
  )

Centered within

Code
dt_ana_prep_cw <- dt_ana_full %>% 
  select(
    peaceful_intent,
    violent_intent,
    all_of(relevant_dicho_vars),
    ends_with("_cw")
  )

dt_ana_violent_cw <- dt_ana_prep_cw %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("peaceful_intent"),
    -violent_intent_cw
  )
dt_ana_violent_explo_cw <- dt_ana_prep_cw %>% 
  select(
    -starts_with("peaceful_intent"),
    -violent_intent_cw
  )

dt_ana_peaceful_cw <- dt_ana_prep_cw %>% 
  select(
    -starts_with("intuition"),
    -starts_with("logic"),
    -starts_with("violent_intent"),
    -peaceful_intent_cw
  )
dt_ana_peaceful_explo_cw <- dt_ana_prep_cw %>% 
  select(
    -starts_with("violent_intent"),
    -peaceful_intent_cw
  )

Harmonize dt_items and full

Code
# remove people that have no entries in dt_full
# Save the original count
n_before <- nrow(dt_items)

# Keep only rows with response_id present in dt_ana_base
dt_items <- dt_items %>%
  semi_join(dt_ana_full, by = "response_id")

# Print how many were removed
cat("Removed:", n_before - nrow(dt_items), "rows\n")
Removed: 28 rows
Code
# Optionally, confirm the new total
cat("Remaining:", nrow(dt_items), "rows. Ana_full has:", nrow(dt_ana_full), "\n")
Remaining: 10395 rows. Ana_full has: 10395 
Code
# print how many were removed
save_df_to_dic(dt_items)
Saving dataframe dt_items....
Dataframe saved as ../data/wrangled_data/dt_items.RData and ../data/wrangled_data/dt_items.csv

Impute items overall

Code
# works but takes quite long (better to do this when actually needed)
impute_items = FALSE

if (impute_items) {
  res2 <- impute_flex(
    dt_items,                 # your other dataset
    scope = "all",          # <- this is the new mode
    id_vars = c("response_id"),  # protect all ID-like columns
    # never_impute_extra = c("created_at"),        # optionally protect extra columns
    m = 20,
    maxit = 10,
    seed = 42,
    verbose = TRUE,
    parallel_mode = "cluster",                # <— turn on cluster backend
    cores = parallel::detectCores() - 2,
    cl_type = if (.Platform$OS.type == "windows") "PSOCK" else "FORK"
  )
  dt_items <- res2$completed
}

Save Dataframes

Code
save_df_to_dic(dt_ana_full)

Saving dataframe dt_ana_full…. Dataframe saved as ../data/wrangled_data/dt_ana_full.RData and ../data/wrangled_data/dt_ana_full.csv

Code
save_df_to_dic(dt_ana_violent)

Saving dataframe dt_ana_violent…. Dataframe saved as ../data/wrangled_data/dt_ana_violent.RData and ../data/wrangled_data/dt_ana_violent.csv

Code
save_df_to_dic(dt_ana_peaceful)

Saving dataframe dt_ana_peaceful…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful.RData and ../data/wrangled_data/dt_ana_peaceful.csv

Code
save_df_to_dic(dt_ana_violent_explo)

Saving dataframe dt_ana_violent_explo…. Dataframe saved as ../data/wrangled_data/dt_ana_violent_explo.RData and ../data/wrangled_data/dt_ana_violent_explo.csv

Code
save_df_to_dic(dt_ana_peaceful_explo)

Saving dataframe dt_ana_peaceful_explo…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful_explo.RData and ../data/wrangled_data/dt_ana_peaceful_explo.csv

Code
save_df_to_dic(dt_ana_violent_cw)

Saving dataframe dt_ana_violent_cw…. Dataframe saved as ../data/wrangled_data/dt_ana_violent_cw.RData and ../data/wrangled_data/dt_ana_violent_cw.csv

Code
save_df_to_dic(dt_ana_peaceful_cw)

Saving dataframe dt_ana_peaceful_cw…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful_cw.RData and ../data/wrangled_data/dt_ana_peaceful_cw.csv

Code
save_df_to_dic(dt_ana_violent_explo_cw)

Saving dataframe dt_ana_violent_explo_cw…. Dataframe saved as ../data/wrangled_data/dt_ana_violent_explo_cw.RData and ../data/wrangled_data/dt_ana_violent_explo_cw.csv

Code
save_df_to_dic(dt_ana_peaceful_explo_cw)

Saving dataframe dt_ana_peaceful_explo_cw…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful_explo_cw.RData and ../data/wrangled_data/dt_ana_peaceful_explo_cw.csv

Code
save_df_to_dic(dt_ana_violent_gmc)

Saving dataframe dt_ana_violent_gmc…. Dataframe saved as ../data/wrangled_data/dt_ana_violent_gmc.RData and ../data/wrangled_data/dt_ana_violent_gmc.csv

Code
save_df_to_dic(dt_ana_peaceful_gmc)

Saving dataframe dt_ana_peaceful_gmc…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful_gmc.RData and ../data/wrangled_data/dt_ana_peaceful_gmc.csv

Code
save_df_to_dic(dt_ana_violent_explo_gmc)

Saving dataframe dt_ana_violent_explo_gmc…. Dataframe saved as ../data/wrangled_data/dt_ana_violent_explo_gmc.RData and ../data/wrangled_data/dt_ana_violent_explo_gmc.csv

Code
save_df_to_dic(dt_ana_peaceful_explo_gmc)

Saving dataframe dt_ana_peaceful_explo_gmc…. Dataframe saved as ../data/wrangled_data/dt_ana_peaceful_explo_gmc.RData and ../data/wrangled_data/dt_ana_peaceful_explo_gmc.csv

References