knitr::opts_chunk$set(message = FALSE, warning = FALSE)
options(knitr.table.format = "html")   # needed for the <br>/<small> cell markup

library(dplyr)
library(tidyr)
library(purrr)
library(tibble)
library(ggplot2)
library(ggrepel)
library(knitr)
library(kableExtra)
library(survey)
library(forcats)
library(ggiraph)

# All cleaning and categorisation happens in R/00_wvs_clean_harmonise.R
wvs_all <- readRDS("D:/Populism and Democrary/World value survey/data/clean/wvs_harmonised.rds")

# Comparison set: India vs Western Europe & Offshoots and Middle East & North Africa.
# Adults only: W7 India deliberately interviewed 16-17 year olds (321 of 1,692).
focus_regions <- c("India", "Western Europe & Offshoots", "Middle East & North Africa")
# W3 (1994-99, India 1995) is dropped from this report
wvs <- wvs_all |>
  filter(is.na(age) | age >= 18, macro_region %in% focus_regions, wave != "W3") |>
  mutate(macro_region = droplevels(macro_region))

india_years   <- c(W4 = "2001", W5 = "2006", W6 = "2012", W7 = "2023")
wave_labels   <- c(W4 = "W4 (1999–2004)", W5 = "W5 (2004–09)", W6 = "W6 (2010–16)", W7 = "W7 (2017–23)")
common_states <- c("Bihar", "Delhi", "Haryana", "Maharashtra", "Punjab", "Uttar Pradesh", "West Bengal")
styled <- function(k) kable_styling(k, bootstrap_options = c("striped", "condensed"), full_width = FALSE)

# ---- Chart style ------------------------------------------------------------------
# Colour follows the group, in a fixed order (validated for colour-blind separation):
# Western Europe = blue, India = orange, MENA = green.
region_cols <- c(`Western Europe & Offshoots` = "#2a78d6", India = "#eb6834",
                 `Middle East & North Africa` = "#1baf7a")
year_cols   <- c(`2001` = "#86b6ef", `2006` = "#5598e7",
                 `2012` = "#256abf", `2023` = "#0d366b")        # one-hue ramp: later = darker
india_year_num <- c(W4 = 2001, W5 = 2006, W6 = 2012, W7 = 2023)
ink <- "#0b0b0b"; ink2 <- "#52514e"; grid_col <- "#e6e5e1"

theme_wvs <- function(base = 11) {
  theme_minimal(base_size = base) +
    theme(panel.grid.minor = element_blank(),
          panel.grid.major = element_line(colour = grid_col, linewidth = 0.3),
          axis.text = element_text(colour = ink2), axis.title = element_text(colour = ink2),
          plot.title = element_text(face = "bold", size = base + 1, colour = ink),
          plot.subtitle = element_text(colour = ink2),
          plot.caption = element_text(colour = ink2, hjust = 0, size = base - 2),
          legend.position = "top", legend.title = element_blank(), legend.justification = "left",
          strip.text = element_text(face = "bold", hjust = 0, colour = ink))
}
knitr::opts_chunk$set(dpi = 110)

# Every chart is rendered with ggiraph: hover a dot, bar or point to see its value
# ggiraph tooltips / ids cannot contain a straight apostrophe
safe_txt <- function(x) gsub("'", "’", x, fixed = TRUE)

show_plot <- function(p, w = 9, h = 5) {
  if (isTRUE(getOption("wvs.static"))) return(p)   # for checking layout as images
  girafe(ggobj = p, width_svg = w, height_svg = h,
         options = list(
           opts_tooltip(css = paste0("background:#ffffff;color:#0b0b0b;border:1px solid #d9d8d4;",
                                     "border-radius:4px;padding:6px 8px;font-size:12px;")),
           opts_hover(css = "stroke:#0b0b0b;stroke-width:1.5px;"),
           opts_hover_inv(css = "opacity:0.4;"),
           opts_sizing(rescale = TRUE),
           opts_toolbar(saveaspng = TRUE)))
}
agree4 <- function(x) case_when(x %in% 1:2 ~ 1, x %in% 3:4 ~ 0)
agree5 <- function(x) case_when(x %in% 1:2 ~ 1, x %in% 3:5 ~ 0)
high10 <- function(x) case_when(x %in% 7:10 ~ 1, x %in% 1:6 ~ 0)   # top 4 points of a 1-10 scale
# mean of 0/1 items when at least `k` are answered
row_share <- function(d, vars, k) {
  n_ok <- rowSums(!is.na(d[vars]))
  ifelse(n_ok >= k, rowMeans(d[vars], na.rm = TRUE), NA_real_)
}

# Institutions that USE power (the state) vs institutions that CHECK power
state_inst <- c("conf_civilservice_hi", "conf_police_hi", "conf_army_hi", "conf_govt_hi")
check_inst <- c("conf_parliament_hi", "conf_parties_hi", "conf_press_hi", "conf_courts_hi")

conc_levels <- c("Liberal (maximalist)", "Minimalist (electoral)", "Illiberal")

add_recodes <- function(d) {
  d |>
    mutate(
      # 1. trust in the two sides of the state (share of 4 institutions trusted, 0-1)
      state_trust = row_share(pick(everything()), state_inst, 3),
      check_trust = row_share(pick(everything()), check_inst, 3),
      trust_gap   = state_trust - check_trust,

      # 2. demand for governance (delivery) and for accountability: yes/no on each question (combined below)
      # governance = what people want government to deliver (ranked aims: picked 1st or 2nd)
      gov_growth    = case_when(pm_aims1 == 1 | pm_aims2 == 1 ~ 1, pm_aims1 %in% 1:4 ~ 0),
      gov_prices    = case_when(pm_goals1 == 3 | pm_goals2 == 3 ~ 1, pm_goals1 %in% 1:4 ~ 0),
      gov_economy   = case_when(pm_society1 == 1 | pm_society2 == 1 ~ 1, pm_society1 %in% 1:4 ~ 0),
      gov_crime     = case_when(pm_society1 == 4 | pm_society2 == 4 ~ 1, pm_society1 %in% 1:4 ~ 0),
      acc_say_govt  = case_when(pm_goals1 == 2 | pm_goals2 == 2 ~ 1, pm_goals1 %in% 1:4 ~ 0),
      acc_say_work  = case_when(pm_aims1 == 3 | pm_aims2 == 3 ~ 1, pm_aims1 %in% 1:4 ~ 0),
      acc_petition  = case_when(act_petition %in% 1:2 ~ 1, act_petition == 3 ~ 0),
      acc_demo      = case_when(act_demonstration %in% 1:2 ~ 1, act_demonstration == 3 ~ 0),
      acc_boycott   = case_when(act_boycott %in% 1:2 ~ 1, act_boycott == 3 ~ 0),

      # 3. conception of democracy: yes/no on each liberal and each authoritarian question
      lib_elections = case_when(dess_elections %in% 7:10 ~ 1, dess_elections %in% 1:6 ~ 0),
      lib_civil     = case_when(dess_civilrights %in% 7:10 ~ 1, dess_civilrights %in% 1:6 ~ 0),
      lib_women     = case_when(dess_women %in% 7:10 ~ 1, dess_women %in% 1:6 ~ 0),
      lib_demgood   = case_when(reg_democracy %in% 1:2 ~ 1, reg_democracy %in% 3:4 ~ 0),
      lib_demimp    = case_when(dem_importance %in% 7:10 ~ 1, dem_importance %in% 1:6 ~ 0),
      aut_army_ess  = case_when(dess_army %in% 7:10 ~ 1, dess_army %in% 1:6 ~ 0),
      aut_relig_ess = case_when(dess_religious %in% 7:10 ~ 1, dess_religious %in% 1:6 ~ 0),
      aut_army_rule = case_when(reg_army %in% 1:2 ~ 1, reg_army %in% 3:4 ~ 0),
      aut_strong    = case_when(reg_strongleader %in% 1:2 ~ 1, reg_strongleader %in% 3:4 ~ 0),
      aut_experts   = case_when(reg_experts %in% 1:2 ~ 1, reg_experts %in% 3:4 ~ 0),
      aut_obey      = case_when(dess_obey %in% 7:10 ~ 1, dess_obey %in% 1:6 ~ 0),
      aut_authority = case_when(fut_authority == 1 ~ 1, fut_authority %in% 2:3 ~ 0),
      # liberal score and authoritarian score = share of answered questions with a "yes" (0-1);
      # democracy score = liberal score minus authoritarian score (-1 to +1)
      aut_share = rowMeans(pick(aut_army_ess, aut_relig_ess, aut_army_rule, aut_strong,
                                aut_experts, aut_obey, aut_authority), na.rm = TRUE),
      lib_share = rowMeans(pick(lib_elections, lib_civil, lib_women, lib_demgood, lib_demimp), na.rm = TRUE),
      dem_score = lib_share - aut_share,
      # Classified if free elections was answered (asked from 2006) and at least 3 questions in
      # each set were answered.
      aut_n = rowSums(!is.na(pick(aut_army_ess, aut_relig_ess, aut_army_rule, aut_strong,
                                  aut_experts, aut_obey, aut_authority))),
      lib_n = rowSums(!is.na(pick(lib_elections, lib_civil, lib_women, lib_demgood, lib_demimp))),
      ess_ok = !is.na(dess_elections) & aut_n >= 3 & lib_n >= 3,
      # Types are bands of the democracy score:
      #   Illiberal: score <= 0, or free elections rated 1-6
      #   Minimalist: free elections 7-10 and score above 0 but below 0.5
      #   Liberal: free elections 7-10 and score 0.5 or more
      conception = case_when(
        !ess_ok                                                       ~ NA_character_,
        lib_elections == 0 | dem_score <= 0                           ~ "Illiberal",
        lib_elections == 1 & dem_score >= 0.5                         ~ "Liberal (maximalist)",
        lib_elections == 1 & dem_score > 0 & dem_score < 0.5          ~ "Minimalist (electoral)"),
      conception = factor(conception, conc_levels),
      con_liberal   = as.numeric(conception == "Liberal (maximalist)"),
      con_minimal   = as.numeric(conception == "Minimalist (electoral)"),
      con_illiberal = as.numeric(conception == "Illiberal"),

      # state support (standalone dimension, II.3): yes on each item
      ss_govresp_yes  = case_when(econ_govresp %in% 1:4 ~ 1, econ_govresp %in% 5:10 ~ 0),
      ss_income_yes   = case_when(econ_income %in% 1:4 ~ 1, econ_income %in% 5:10 ~ 0),
      ss_taxrich_yes  = high10(dess_taxrich),
      ss_unemp_yes    = high10(dess_unemp),
      ss_incomeeq_yes = high10(dess_incomeequal),
      ss_policy_n     = ss_govresp_yes + ss_income_yes,
      ss_essential_n  = ss_taxrich_yes + ss_unemp_yes + if_else(wave == "W5", 0, ss_incomeeq_yes)
    )
}
# State supporter = yes on at least 3 of the state-support items. Classified only where at least
# 4 of the 5 were asked in that country-wave (so from 2006) and the respondent answered all asked.
ss_items <- c("ss_govresp_yes", "ss_income_yes", "ss_taxrich_yes", "ss_unemp_yes", "ss_incomeeq_yes")

# Demand for governance / accountability = yes on at least half of the questions asked in that
# country-wave. Classified if the respondent answered all but at most one of those asked.
gov_items <- c("gov_growth", "gov_prices", "gov_economy", "gov_crime")
acc_items <- c("acc_say_govt", "acc_say_work", "acc_petition", "acc_demo", "acc_boycott")
demand <- function(d, items) {
  asked <- d |>
    group_by(wave, country_code) |>
    summarise(k = sum(map_lgl(pick(all_of(items)), ~ any(!is.na(.x)))), .groups = "drop")
  k   <- left_join(select(d, wave, country_code), asked, by = c("wave", "country_code"))$k
  ans <- rowSums(!is.na(d[items]))
  yes <- rowSums(d[items], na.rm = TRUE)
  ifelse(k >= 2 & ans >= k - 1, as.numeric(yes / ans >= 0.5), NA_real_)
}
gtype_of <- function(acc, gov) {
  factor(case_when(acc == 1 & gov == 0 ~ "Accountability-first",
                   acc == 1 & gov == 1 ~ "Want both",
                   acc == 0 & gov == 1 ~ "Governance-first",
                   acc == 0 & gov == 0 ~ "Neither"),
         c("Accountability-first", "Want both", "Governance-first", "Neither"))
}

# All measures of Part II, built the same way for any set of countries
build_measures <- function(d) {
  d <- add_recodes(d) |>
    group_by(wave, country_code) |>
    mutate(ss_asked = sum(map_lgl(pick(all_of(ss_items)), ~ any(!is.na(.x))))) |>
    ungroup() |>
    mutate(ss_answered = rowSums(!is.na(pick(all_of(ss_items)))),
           ss_yes      = rowSums(pick(all_of(ss_items)), na.rm = TRUE),
           state_support = case_when(ss_asked < 4 | ss_answered < ss_asked ~ NA_real_,
                                     ss_yes >= 3 ~ 1, TRUE ~ 0))
  d |>
    mutate(gov_demand = demand(d, gov_items),
           acc_demand = demand(d, acc_items),
           gtype = gtype_of(acc_demand, gov_demand),
           g_accfirst = as.numeric(gtype == "Accountability-first"),
           g_both     = as.numeric(gtype == "Want both"),
           g_govfirst = as.numeric(gtype == "Governance-first"),
           g_neither  = as.numeric(gtype == "Neither"),
           # robustness: accountability from stated preferences only (no demonstrations / boycotts)
           acc_demand_pref = demand(d, setdiff(acc_items, c("acc_demo", "acc_boycott"))),
           gtype_pref = as.character(gtype_of(acc_demand_pref, gov_demand)))
}
wvs <- build_measures(wvs)

# Part II: India vs the UN geoscheme regions. Countries surveyed in at least 3 of W4-W7;
# India on its own. (Internal column name wb_region is kept for the Part III helpers.)
wb_regions <- c("India", "South-eastern Asia", "Western Asia & Northern Africa", "Sub-Saharan Africa",
                "Latin America & Caribbean", "Eastern Europe", "Western Europe & Offshoots")
wvs_wb <- wvs_all |>
  filter(is.na(age) | age >= 18, wave != "W3", wb_3waves, un_region %in% wb_regions) |>
  mutate(wb_region = factor(as.character(un_region), wb_regions)) |>
  build_measures()
india <- wvs |> filter(is_india)
# ---- Weighted estimate with 95% CI ------------------------------------------
# SEs use the Kish effective sample size (weights only). The WVS does not release
# sampling clusters, so intervals are too narrow; do not over-read small gaps.
wstat <- function(x, w) {
  ok <- !is.na(x) & !is.na(w); x <- x[ok]; w <- w[ok]
  if (!length(x)) return(tibble(est = NA_real_, se = NA_real_, n = 0L))
  m    <- sum(w * x) / sum(w)
  neff <- sum(w)^2 / sum(w^2)
  tibble(est = m, se = sqrt(sum(w * (x - m)^2) / sum(w) / neff), n = length(x))
}
wdk <- function(x, w) if (all(is.na(x))) NA_real_ else 100 * sum(w[is.na(x)]) / sum(w)

# ---- India over time ------------------------------------------------------------
india_trend <- function(items, mult = 100, data = india) {
  imap_dfr(items, function(lab, v) {
    data |>
      group_by(wave) |>
      group_modify(~ bind_cols(wstat(.x[[v]], .x$weight), dk = wdk(.x[[v]], .x$weight))) |>
      ungroup() |>
      mutate(item = lab, var = v)
  }) |>
    mutate(lo = est - 1.96 * se, hi = est + 1.96 * se)
}

show_trend <- function(tr, mult = 100, caption = NULL, digits = 1) {
  f <- paste0("%.", digits, "f")
  tr |>
    mutate(cell = ifelse(is.na(est), "—",
                         sprintf(paste0(f, " [", f, ", ", f, "]<br><small>no answer %.0f%%</small>"),
                                 est * mult, lo * mult, hi * mult, dk)),
           year = india_years[wave]) |>
    select(Item = item, year, cell) |>
    pivot_wider(names_from = year, values_from = cell) |>
    (\(x) kable(x, escape = FALSE, caption = caption, align = c("l", rep("c", ncol(x) - 1))))() |>
    styled()
}

# ---- Country estimates and India vs regions -------------------------------------
# Region value = unweighted mean of country estimates (each country counts once)
country_est <- function(v, mult = 100, data = wvs) {
  data |>
    group_by(wave, country_code, country_name, macro_region) |>
    filter(any(!is.na(.data[[v]]))) |>
    summarise(est = weighted.mean(.data[[v]], weight, na.rm = TRUE) * mult, .groups = "drop")
}

region_compare <- function(v, mult = 100, caption = NULL, digits = 1) {
  ce  <- country_est(v, mult)
  f   <- paste0("%.", digits, "f")
  reg <- ce |>
    group_by(wave, macro_region) |>
    summarise(cell = sprintf(paste0(f, " <small>(%d)</small>"), mean(est), n()), .groups = "drop") |>
    mutate(macro_region = as.character(macro_region))
  rnk <- ce |>
    group_by(wave) |>
    mutate(r = rank(-est, ties.method = "min"), N = n()) |>
    filter(country_code == 356) |>
    transmute(wave, macro_region = "India's rank among countries shown (1 = highest)",
              cell = sprintf("%d of %d", r, N))
  bind_rows(reg, rnk) |>
    mutate(wave = wave_labels[wave]) |>
    pivot_wider(names_from = wave, values_from = cell, values_fill = "—") |>
    arrange(factor(macro_region, levels = c(focus_regions, "India's rank among countries shown (1 = highest)"))) |>
    rename(Region = macro_region) |>
    (\(x) kable(x, escape = FALSE, caption = caption, align = c("l", rep("c", ncol(x) - 1))))() |>
    styled() |>
    footnote(general = paste0("Cells: mean of country estimates (number of countries).",
                              if (grepl("trust|check", v)) " W4 has no courts item, so its checking-trust index uses 3 institutions." else ""),
             general_title = "")
}

# ---- Charts used across sections --------------------------------------------------
# India over time: one or more items, India only (orange), items told apart by line type + labels
plot_india_lines <- function(tr, title, ylab = "%", mult = 100, caption = NULL, w = 9, h = 4.6) {
  d <- tr |> filter(!is.na(est)) |> mutate(year = india_year_num[wave])
  p <- ggplot(d, aes(year, est * mult, group = item)) +
    geom_ribbon(aes(ymin = lo * mult, ymax = hi * mult), fill = region_cols["India"], alpha = 0.10) +
    geom_line(aes(linetype = item), colour = region_cols["India"], linewidth = 0.8) +
    geom_point_interactive(aes(tooltip = sprintf("%s<br>%d: %.1f (95%% CI %.1f to %.1f)", item, year,
                                                 est * mult, lo * mult, hi * mult),
                               data_id = paste(item, year)),
                           shape = 21, fill = region_cols["India"], colour = "white", size = 3, stroke = 0.8) +
    geom_text(data = d |> group_by(item) |> slice_max(year, n = 1),
              aes(label = item), hjust = -0.08, size = 3.1, colour = ink) +
    scale_x_continuous(breaks = unname(india_year_num), limits = c(2000, 2033)) +
    scale_linetype_manual(values = c("solid", "22", "42", "12")) +
    labs(title = title, x = NULL, y = ylab, caption = caption) +
    theme_wvs() + theme(legend.position = "none")
  show_plot(p, w, h)
}

# India vs the two regions over waves: region = mean of countries; India = its own estimate
plot_region_lines <- function(v, title, ylab = "%", mult = 100, caption = NULL, w = 9, h = 4.6) {
  d <- country_est(v, mult) |>
    group_by(wave, macro_region) |>
    summarise(est = mean(est), k = n(), .groups = "drop") |>
    mutate(wave_lab = factor(wave_labels[wave], wave_labels), macro_region = factor(macro_region, focus_regions))
  p <- ggplot(d, aes(wave_lab, est, colour = macro_region, group = macro_region)) +
    geom_line(linewidth = 0.8) +
    geom_point_interactive(aes(fill = macro_region, data_id = paste(macro_region, wave),
                               tooltip = sprintf("%s<br>%s: %.1f<br>%d %s", macro_region, wave_lab, est, k,
                                                 ifelse(k == 1, "country", "countries"))),
                           shape = 21, colour = "white", size = 3.2, stroke = 0.8) +
    geom_text(data = d |> group_by(macro_region) |> slice_max(as.integer(wave_lab), n = 1),
              aes(label = sprintf("%.0f", est)), hjust = -0.6, size = 3.1, colour = ink, show.legend = FALSE) +
    scale_colour_manual(values = region_cols, breaks = focus_regions) +
    scale_fill_manual(values = region_cols, guide = "none") +
    labs(title = title, x = NULL, y = ylab,
         caption = caption %||% "Regions: mean of country estimates. W. Europe in W4 is 4 countries.") +
    theme_wvs()
  show_plot(p, w, h)
}

# Every country as a dot, ranked within each wave (one panel per wave); India highlighted.
# Dashed lines = region averages (mean of countries).
plot_country_dots <- function(v, title, xlab, mult = 100, waves = NULL, caption = NULL, w = 11, h = NULL) {
  ce <- country_est(v, mult)
  if (!is.null(waves)) ce <- filter(ce, wave %in% waves)
  ce <- ce |>
    mutate(wave_lab = factor(wave_labels[wave], wave_labels),
           india = country_code == 356,
           name  = safe_txt(as.character(country_name)),
           key   = paste(name, wave, sep = "___")) |>
    arrange(wave, est) |>
    mutate(key = factor(key, unique(key)))
  rm <- ce |> filter(!india) |> group_by(wave_lab, macro_region) |> summarise(m = mean(est), .groups = "drop")
  n_max <- max(table(ce$wave))
  p <- ggplot(ce, aes(est, key)) +
    geom_vline(data = rm, aes(xintercept = m, colour = macro_region), linetype = "22", linewidth = 0.5) +
    geom_point_interactive(aes(colour = macro_region, size = india, data_id = paste(name, wave),
                               tooltip = sprintf("%s (%s)<br>%s: %.1f", name, macro_region, wave_lab, est))) +
    facet_wrap(~ wave_lab, nrow = 1, scales = "free_y") +
    scale_y_discrete(labels = function(x) sub("___.*", "", x)) +
    scale_colour_manual(values = region_cols, breaks = focus_regions) +
    scale_size_manual(values = c(`FALSE` = 2.2, `TRUE` = 3.8), guide = "none") +
    labs(title = title, x = xlab, y = NULL,
         caption = caption %||% "Countries ranked within each wave. Dashed lines: region averages (mean of countries).") +
    theme_wvs(10) + theme(panel.spacing = unit(1.4, "lines"), panel.grid.major.y = element_blank(),
                          axis.text.y = element_text(size = 7.5))
  show_plot(p, w, h %||% max(4.5, 1.8 + 0.18 * n_max))
}

# ---- Groups within India ------------------------------------------------------------
india_groups <- function(v, mult = 100, min_n = 50, caption = NULL, digits = 1,
                         groups = c(Sex = "sex_f", Age = "age_cat3", Education = "educ3",
                                    Party = "in_party_vote", Religion = "in_religion", Caste = "in_caste")) {
  keep_levels <- list(in_party_vote = c("BJP", "INC", "Left", "Other party"),
                      in_religion   = c("Hindu", "Muslim", "Christian", "Other (Sikh, Buddhist, Jain, ...)"))
  f <- paste0("%.", digits, "f")
  long <- imap_dfr(groups, function(g, gl) {
    d <- india |> filter(!is.na(.data[[g]]))
    if (g %in% names(keep_levels)) d <- d |> filter(.data[[g]] %in% keep_levels[[g]])
    d |>
      mutate(level = factor(as.character(.data[[g]]), levels = levels(droplevels(factor(.data[[g]]))))) |>
      group_by(wave, level) |>
      group_modify(~ wstat(.x[[v]], .x$weight)) |>
      ungroup() |>
      mutate(group = factor(gl, levels = names(groups)))
  }) |>
    filter(n > 0)
  wide <- long |>
    mutate(cell = ifelse(n < min_n, sprintf("<small>n=%d</small>", n),
                         sprintf(paste0(f, " <small>(%d)</small>"), est * mult, n)),
           year = factor(india_years[wave], levels = india_years)) |>
    arrange(group, level, year) |>
    select(group, level, year, cell) |>
    pivot_wider(names_from = year, values_from = cell, values_fill = "—")
  wide |>
    select(-group) |>
    rename(` ` = level) |>
    kable(escape = FALSE, caption = caption, align = c("l", rep("c", ncol(wide) - 2))) |>
    styled() |>
    pack_rows(index = table(droplevels(wide$group))) |>
    footnote(general = sprintf("Cells: estimate (unweighted n). Cells with n < %d are not estimated.", min_n),
             general_title = "")
}

# Hindu vs Muslim over time, one panel per item
relig_cols <- c(Hindu = "#4a3aa7", Muslim = "#eda100")
plot_relig_lines <- function(items, title, ylab = "%", ncol = 2, w = 10, h = 6.5, caption = NULL) {
  d <- imap_dfr(items, function(lab, v) {
    india |>
      filter(in_religion %in% names(relig_cols)) |>
      group_by(wave, in_religion) |>
      group_modify(~ wstat(.x[[v]], .x$weight)) |>
      ungroup() |>
      filter(n >= 50) |>
      mutate(item = lab)
  }) |>
    mutate(year = india_year_num[wave], item = factor(item, items),
           in_religion = factor(as.character(in_religion), names(relig_cols)))
  p <- ggplot(d, aes(year, est * 100, colour = in_religion, group = in_religion)) +
    geom_line(linewidth = 0.8) +
    geom_point_interactive(aes(fill = in_religion, data_id = safe_txt(paste(item, in_religion, year)),
                               tooltip = safe_txt(sprintf("%s<br>%s, %d: %.1f%%<br>n = %d", item, in_religion, year, est * 100, n))),
                           shape = 21, colour = "white", size = 2.8, stroke = 0.7) +
    geom_text_repel(data = d |> group_by(item, in_religion) |> slice_max(year, n = 1),
                    aes(label = in_religion), size = 2.9, colour = ink, show.legend = FALSE,
                    direction = "y", hjust = 0, nudge_x = 1.2, segment.colour = NA, seed = 1) +
    facet_wrap(~ item, ncol = ncol) +
    scale_colour_manual(values = relig_cols) +
    scale_fill_manual(values = relig_cols, guide = "none") +
    scale_x_continuous(breaks = unname(india_year_num), limits = c(2000, 2028)) +
    scale_y_continuous(limits = c(0, 100)) +
    labs(title = title, x = NULL, y = ylab,
         caption = caption %||% "India only. Groups with fewer than 50 respondents are not shown.") +
    theme_wvs(10) + theme(panel.spacing = unit(1.2, "lines"))
  show_plot(p, w, h)
}

# Several items in one wave: India and the two regions side by side (Cleveland dot plot)
plot_items_regions <- function(items, wave_sel, title, xlab = "%", w = 9.5, h = NULL, caption = NULL) {
  d <- imap_dfr(items, function(lab, v) {
    country_est(v) |>
      filter(wave == wave_sel) |>
      group_by(macro_region) |>
      summarise(est = mean(est), k = n(), .groups = "drop") |>
      mutate(item = lab)
  }) |>
    mutate(item = factor(item, rev(items)), macro_region = factor(macro_region, focus_regions))
  p <- ggplot(d, aes(est, item)) +
    geom_line(aes(group = item), colour = "#c3c2b7", linewidth = 0.9) +
    geom_point_interactive(aes(colour = macro_region, data_id = safe_txt(paste(item, macro_region)),
                               tooltip = safe_txt(sprintf("%s<br>%s: %.0f%%<br>%d %s", item, macro_region, est, k,
                                                 ifelse(k == 1, "country", "countries")))),
                           size = 3.6) +
    scale_colour_manual(values = region_cols, breaks = focus_regions) +
    scale_x_continuous(limits = c(0, 100)) +
    labs(title = title, x = xlab, y = NULL,
         caption = caption %||% paste0(wave_labels[wave_sel], ". Regions: mean of countries.")) +
    theme_wvs()
  show_plot(p, w, h %||% (1.6 + 0.55 * length(items)))
}

# long version of the group estimates, for charts
group_long <- function(v, groups = c(Sex = "sex_f", Age = "age_cat3", Education = "educ3",
                                     Party = "in_party_vote", Religion = "in_religion", Caste = "in_caste")) {
  keep_levels <- list(in_party_vote = c("BJP", "INC", "Left", "Other party"),
                      in_religion   = c("Hindu", "Muslim", "Christian", "Other (Sikh, Buddhist, Jain, ...)"))
  imap_dfr(groups, function(g, gl) {
    d <- india |> filter(!is.na(.data[[g]]))
    if (g %in% names(keep_levels)) d <- d |> filter(.data[[g]] %in% keep_levels[[g]])
    d |>
      mutate(level = factor(as.character(.data[[g]]), levels = levels(droplevels(factor(.data[[g]]))))) |>
      group_by(wave, level) |>
      group_modify(~ wstat(.x[[v]], .x$weight)) |>
      ungroup() |>
      mutate(group = factor(gl, levels = names(groups)))
  })
}

# ---- Question table at the start of each section ------------------------------------
fmt_conf <- "4-point: 1 a great deal, 2 quite a lot, 3 not very much, 4 none at all"
fmt_reg  <- "4-point: 1 very good, 2 fairly good, 3 fairly bad, 4 very bad"
fmt_ess  <- "10-point: 1 not an essential characteristic of democracy ... 10 an essential characteristic"
fmt_agr4 <- "4-point: 1 strongly agree, 2 agree, 3 disagree, 4 strongly disagree"
fmt_agr5 <- "5-point: 1 agree strongly ... 3 neither ... 5 disagree strongly"
fmt_just <- "10-point: 1 never justifiable ... 10 always justifiable"
fmt_surv <- "4-point: 1 definitely should ... 4 definitely should not"
fmt_nb   <- "Yes/no: mentioned or not mentioned on a list"
codebook_vars <- readr::read_csv("D:/Populism and Democrary/World value survey/data/clean/wvs_codebook.csv",
                                 show_col_types = FALSE) |>
  select(var, W4, W5, W6, W7)
# rows: var (several joined with "+", e.g. "pm_aims1+pm_aims2"), question, format, mapped,
# and optionally `side` to group rows under sub-headings
# Exact wording, WVS Wave 7 master questionnaire (earlier waves differ slightly in places)
w7_conf  <- "I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all?"
w7_aims  <- "People sometimes talk about what the aims of this country should be for the next ten years. Would you please say which one of these you, yourself, consider the most important? And which would be the next most important?"
w7_goals <- "If you had to choose, which one of the things on this card would you say is most important? And which would be the next most important?"
w7_soc   <- "Here is another list. In your opinion, which one of these is most important? And what would be the next most important?"
w7_act   <- "I'm going to read out some forms of political action that people can take, and I'd like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it."
w7_sys   <- "I'm going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country?"
w7_ess   <- "Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy."
w7_scale <- "How would you place your views on this scale? 1 means you agree completely with the statement on the left; 10 means you agree completely with the statement on the right."
w7_fut   <- "I'm going to read out a list of various changes in our way of life that might take place in the near future. Please tell me for each one, if it were to happen, whether you think it would be a good thing, a bad thing, or don't you mind?"
wq <- function(stem, item) paste0("“", item, "” — ", stem)
f_conf <- "1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all"
f_sys  <- "1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad"
f_ess  <- "1 “Not at all an essential characteristic of democracy” ... 10 “An essential characteristic of democracy”"
f_act  <- "1 Have done, 2 Might do, 3 Would never do"
f_aims <- "First and second choice from: A high level of economic growth / Making sure this country has strong defense forces / Seeing that people have more say about how things are done at their jobs and in their communities / Trying to make our cities and countryside more beautiful"
f_goal <- "First and second choice from: Maintaining order in the nation / Giving people more say in important government decisions / Fighting rising prices / Protecting freedom of speech"
f_soc  <- "First and second choice from: A stable economy / Progress toward a less impersonal and more humane society / Progress toward a society in which ideas count more than money / The fight against crime"

q_table <- function(rows, caption = "Questions used in this section (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)",
                    show_india = TRUE) {
  first <- sub("\\+.*", "", rows$var)
  in_india <- vapply(first, function(v) {
    yrs <- india |> filter(!is.na(.data[[v]])) |> distinct(wave) |> pull(wave) |> sort()
    if (length(yrs)) paste(india_years[yrs], collapse = ", ") else "—"
  }, character(1))
  wave_ids <- function(v, w) {
    ids <- strsplit(v, "+", fixed = TRUE)[[1]]
    x <- codebook_vars[[w]][match(ids, codebook_vars$var)]
    x <- x[!is.na(x) & x != ""]
    if (length(x)) paste(x, collapse = " & ") else "—"
  }
  tab <- rows |> mutate(india_yrs = unname(in_india))
  for (w in c("W4", "W5", "W6", "W7")) tab[[w]] <- vapply(rows$var, wave_ids, character(1), w = w)
  k <- tab |>
    select(Question = question, `Response format` = format, `How it is counted / what it maps to` = mapped,
           `Asked in India` = india_yrs, W4, W5, W6, W7) |>
    select(-any_of(if (show_india) character() else "Asked in India")) |>
    kable(caption = caption) |>
    styled() |>
    add_header_above(c(" " = 3 + show_india, "Question number in the WVS file" = 4)) |>
    column_spec(1, width = "17em") |>
    column_spec(3, width = "15em")
  if ("side" %in% names(rows)) k <- pack_rows(k, index = table(factor(rows$side, unique(rows$side))))
  k
}

# India over time, one number per cell (no intervals)
simple_trend <- function(tr, caption, mult = 100, digits = 0, footnote_text = NULL) {
  k <- tr |>
    mutate(cell = ifelse(is.na(est), "—", formatC(est * mult, format = "f", digits = digits)),
           year = india_years[wave]) |>
    select(item, year, cell) |>
    pivot_wider(names_from = year, values_from = cell) |>
    rename(` ` = item) |>
    (\(x) kable(x, caption = caption, align = c("l", rep("c", ncol(x) - 1))))() |>
    styled()
  if (!is.null(footnote_text)) k <- footnote(k, general = footnote_text, general_title = "")
  k
}

# ---- Part III helpers: India vs the UN geoscheme regions --------------------------------
wb_country_est <- function(v, mult = 100, data = wvs_wb) {
  data |>
    group_by(wave, country_code, country_name, wb_region) |>
    filter(any(!is.na(.data[[v]]))) |>
    summarise(est = weighted.mean(.data[[v]], weight, na.rm = TRUE) * mult, .groups = "drop")
}
wb_rank_label <- "India's rank among all countries (1 = highest)"
# sort key: the row's value in the latest wave that has one
latest_value <- function(tab) {
  wcols <- intersect(unname(wave_labels), names(tab))
  apply(tab[wcols], 1, function(r) {
    v <- suppressWarnings(as.numeric(rev(r)))
    v <- v[!is.na(v)]
    if (length(v)) v[1] else -Inf
  })
}
# one or more measures: rows = India + regions (+ India's rank), columns = waves
wb_compare <- function(vars, caption, mult = 100, digits = 1, rank = TRUE) {
  f <- paste0("%.", digits, "f")
  # regions resting on a single country in a wave (named under the table)
  single <- imap_dfr(vars, function(lab, v) {
    wb_country_est(v, mult) |>
      filter(wb_region != "India") |>
      group_by(wave, wb_region) |>
      filter(n() == 1) |>
      ungroup() |>
      distinct(wave, wb_region, country_name)
  }) |>
    distinct() |>
    arrange(factor(wb_region, wb_regions), wave)
  single_note <- if (nrow(single)) {
    paste0("Single country: ",
           paste(sprintf("%s in %s = %s", single$wb_region, single$wave, single$country_name), collapse = "; "), ".")
  } else NULL
  tab <- imap_dfr(vars, function(lab, v) {
    ce  <- wb_country_est(v, mult)
    reg <- ce |>
      group_by(wave, wb_region) |>
      summarise(cell = sprintf(f, mean(est)), .groups = "drop") |>
      mutate(row = as.character(wb_region))
    out <- reg
    if (rank) {
      out <- bind_rows(reg, ce |>
        group_by(wave) |>
        mutate(r = rank(-est, ties.method = "min"), N = n()) |>
        filter(country_code == 356) |>
        transmute(wave, row = wb_rank_label, cell = sprintf("%d of %d", r, N)))
    }
    out |> mutate(measure = lab)
  }) |>
    mutate(col = wave_labels[wave], measure = factor(measure, vars),
           row = factor(row, c(wb_regions, wb_rank_label))) |>
    arrange(measure, row, wave) |>
    select(measure, row, col, cell) |>
    pivot_wider(names_from = col, values_from = cell, values_fill = "—")
  tab <- tab |>
    mutate(.key = latest_value(tab), .rank = row == wb_rank_label) |>
    arrange(measure, .rank, desc(.key)) |>
    select(-.key, -.rank)
  k <- tab |>
    select(-measure) |>
    rename(` ` = row) |>
    (\(x) kable(x, escape = FALSE, caption = caption, align = c("l", rep("c", ncol(x) - 1))))() |>
    styled() |>
    footnote(general = c("Regions: mean of the country estimates. India: its own estimate. — = not asked.", single_note),
             general_title = "")
  if (length(vars) > 1) k <- pack_rows(k, index = table(tab$measure))
  k
}
# small multiples: one panel per region, India (orange) vs the region (blue)
wb_lines <- function(v, title, ylab = "%", mult = 100, w = 10, h = 8, ylim = NULL) {
  ce  <- wb_country_est(v, mult)
  reg <- ce |> filter(wb_region != "India") |> group_by(wave, wb_region) |>
    summarise(est = mean(est), k = n(), .groups = "drop") |> mutate(series = "Region (mean of countries)")
  ind <- ce |> filter(wb_region == "India") |> select(wave, est)
  panel_ord <- reg |> group_by(wb_region) |> slice_max(as.integer(factor(wave, names(india_years))), n = 1) |>
    ungroup() |> arrange(desc(est)) |> pull(wb_region) |> as.character()
  d <- bind_rows(mutate(reg, wb_region = as.character(wb_region)),
                tidyr::crossing(ind, wb_region = unique(as.character(reg$wb_region))) |> mutate(k = 1L, series = "India")) |>
    mutate(wave_short = factor(wave, c("W4", "W5", "W6", "W7")), wb_region = factor(wb_region, panel_ord),
           tip = ifelse(series == "India", sprintf("India, %s: %.1f", india_years[wave], est),
                        sprintf("%s, %s: %.1f<br>%d %s", wb_region, wave_labels[wave], est, k, ifelse(k == 1, "country", "countries"))))
  p <- ggplot(d, aes(wave_short, est, colour = series, group = series)) +
    geom_line(linewidth = 0.8) +
    geom_point_interactive(aes(fill = series, tooltip = safe_txt(tip), data_id = safe_txt(paste(series, wb_region, wave))),
                           shape = 21, colour = "white", size = 2.6, stroke = 0.7) +
    facet_wrap(~ wb_region, ncol = 4, labeller = label_wrap_gen(24)) +
    scale_y_continuous(limits = ylim) +
    scale_colour_manual(values = c(India = "#eb6834", `Region (mean of countries)` = "#2a78d6")) +
    scale_fill_manual(values = c(India = "#eb6834", `Region (mean of countries)` = "#2a78d6"), guide = "none") +
    labs(title = title, x = NULL, y = ylab,
         caption = "India: W4 2001, W5 2006, W6 2012, W7 2023. Regions: mean of countries surveyed in that wave.") +
    theme_wvs(10) + theme(panel.spacing = unit(1.2, "lines"))
  show_plot(p, w, h)
}
# one measure by conception type: India and each region, one block per type, columns = waves.
# A country counts for a type only if it has at least min_n respondents of that type in that wave.
wb_by_type <- function(v, caption, min_n = 30, digits = 1) {
  f <- paste0("%.", digits, "f")
  ce <- wvs_wb |>
    filter(!is.na(conception), !is.na(.data[[v]])) |>
    group_by(wave, conception, country_code, country_name, wb_region) |>
    filter(n() >= min_n) |>
    summarise(est = 100 * weighted.mean(.data[[v]], weight), .groups = "drop")
  single <- ce |> filter(wb_region != "India") |> group_by(wave, conception, wb_region) |>
    filter(n() == 1) |> ungroup() |> distinct(wave, wb_region, country_name) |>
    arrange(factor(wb_region, wb_regions), wave)
  tab <- ce |>
    group_by(wave, conception, wb_region) |>
    summarise(cell = sprintf(f, mean(est)), .groups = "drop") |>
    mutate(col = wave_labels[wave], wb_region = factor(wb_region, wb_regions)) |>
    arrange(conception, wb_region, wave) |>
    select(conception, wb_region, col, cell) |>
    pivot_wider(names_from = col, values_from = cell, values_fill = "—") |>
    complete(conception, wb_region, fill = list()) |>
    mutate(across(-c(conception, wb_region), ~ ifelse(is.na(.x), "—", .x)))
  tab <- tab |>
    mutate(.key = latest_value(tab)) |>
    arrange(conception, desc(.key)) |>
    select(-.key)
  notes <- c(sprintf("Cells: %% among respondents of that type. Regions: mean of country estimates; a country counts only with at least %d respondents of that type. — = too few respondents or not asked.", min_n),
             if (nrow(single)) paste0("Single country: ", paste(sprintf("%s in %s = %s", single$wb_region, single$wave,
                                                                     single$country_name) |> unique(), collapse = "; "), ".") else NULL)
  tab |>
    select(-conception) |>
    rename(` ` = wb_region) |>
    (\(x) kable(x, caption = caption, align = c("l", rep("c", ncol(x) - 1))))() |>
    styled() |>
    pack_rows(index = table(tab$conception)) |>
    footnote(general = notes, general_title = "")
}

# one chart for one measure: India and every region as rows, one dot per wave (light = 2001, dark = 2023)
wb_dots <- function(v, title, xlab = "%", mult = 100, w = 9.5, h = 5.6,
                    caption = "Regions: mean of countries in each wave.
India surveyed in 2001 (W4), 2006 (W5), 2012 (W6) and 2023 (W7).") {
  ce <- wb_country_est(v, mult)
  d <- ce |>
    group_by(wave, wb_region) |>
    summarise(est = mean(est), k = n(), cn = paste(sort(country_name), collapse = ", "), .groups = "drop") |>
    mutate(wb_region = factor(wb_region, rev(wb_regions)),
           wave_lab = factor(wave, names(india_years)),
           tip = ifelse(wb_region == "India", sprintf("India %s: %.0f%%", india_years[wave], est),
                        sprintf("%s, %s: %.0f%%<br>%s", wb_region, wave_labels[wave], est, cn)))
  wave_cols <- setNames(unname(year_cols), levels(d$wave_lab))
  ord <- d |> group_by(wb_region) |> slice_max(as.integer(wave_lab), n = 1) |> ungroup() |>
    arrange(est) |> pull(wb_region) |> as.character()
  d <- d |> mutate(wb_region = factor(as.character(wb_region), ord))
  p <- ggplot(d, aes(est, wb_region)) +
    geom_line(aes(group = wb_region), colour = "#c3c2b7", linewidth = 0.9) +
    geom_point_interactive(aes(fill = wave_lab, tooltip = safe_txt(tip), data_id = safe_txt(paste(wb_region, wave))),
                           shape = 21, colour = "white", size = 3.6, stroke = 0.8) +
    scale_fill_manual(values = wave_cols) +
    scale_x_continuous(limits = c(0, 100), breaks = seq(0, 100, 25)) +
    scale_y_discrete(labels = function(x) ifelse(x == "India", "INDIA", x)) +
    labs(title = title, x = xlab, y = NULL,
         caption = caption) +
    theme_wvs() +
    theme(axis.text.y = element_text(colour = ink, size = 10), panel.grid.major.y = element_blank())
  show_plot(p, w, h)
}

# stacked shares for the latest wave: India and each region
wb_stack <- function(vars, cols, title, wave_sel = "W7") {
  d <- imap_dfr(vars, function(lab, v) {
    wb_country_est(v) |> filter(wave == wave_sel) |> group_by(wb_region) |>
      summarise(pct = mean(est), k = n(), .groups = "drop") |> mutate(type = lab)
  }) |>
    mutate(type = factor(type, vars))
  ord <- d |> filter(type == vars[[1]]) |> arrange(pct) |> pull(wb_region) |> as.character()
  d <- d |> mutate(wb_region = factor(as.character(wb_region), ord))
  ggplot(d, aes(pct, wb_region, fill = type)) +
    geom_col(width = 0.62, colour = "white", linewidth = 0.6, position = position_stack(reverse = TRUE)) +
    geom_text(aes(label = ifelse(pct >= 6, sprintf("%.0f", pct), ""), group = type,
                  colour = cols[as.character(type)] %in% c("#86b6ef", "#5598e7", "#8a8983")),
              position = position_stack(vjust = 0.5, reverse = TRUE), size = 3, show.legend = FALSE) +
    scale_fill_manual(values = cols) +
    scale_colour_manual(values = c(`TRUE` = ink, `FALSE` = "white"), guide = "none") +
    scale_x_continuous(expand = expansion(mult = c(0, 0.03)), labels = function(x) paste0(x, "%")) +
    labs(title = title, x = NULL, y = NULL,
         caption = paste0(wave_labels[wave_sel], " (India 2023). % of those classified. Regions: mean of countries.")) +
    theme_wvs() + theme(panel.grid.major.y = element_blank())
}

# change within India by group: one dot per survey year, joined by a line
plot_dumbbell <- function(v, waves, title, xlab, min_n = 50, mult = 100, w = 9, h = 7.5) {
  gl <- group_long(v) |>
    filter(wave %in% waves, n >= min_n) |>
    mutate(year = factor(india_years[wave], india_years[waves]), level = fct_rev(level))
  p <- ggplot(gl, aes(est * mult, level)) +
    geom_line(aes(group = level), colour = "#c3c2b7", linewidth = 0.9) +
    geom_point_interactive(aes(fill = year, data_id = paste(group, level, year),
                               tooltip = sprintf("%s: %s<br>%s: %.1f%% (n = %d)", group, level, year, est * mult, n)),
                           shape = 21, colour = "white", size = 3.6, stroke = 0.8) +
    facet_grid(group ~ ., scales = "free_y", space = "free_y", switch = "y") +
    scale_fill_manual(values = year_cols) +
    labs(title = title, x = xlab, y = NULL, caption = sprintf("Groups with fewer than %d respondents are not shown.", min_n)) +
    theme_wvs() +
    theme(strip.placement = "outside", strip.text.y.left = element_text(angle = 0, face = "bold"))
  show_plot(p, w, h)
}

What this report does

The report asks whether Indians separate governance (a state that gets things done) from democratic accountability (checks on that state), what they think democracy is, and whether they want the state to support the less well-off, and how India compares with every world region.

Part What it covers
I. Data, samples and coverage Which countries and waves, the world regions, how region averages are formed, who was interviewed, and how India was sampled
II. India and the world regions II.1 Governance vs accountability (four groups); II.2 Liberal, minimalist or illiberal conceptions of democracy (democracy score); II.3 State support
III. Question by question One table per question (trust in 8 institutions, and every question behind Part II): India and each region, wave by wave
IV. PALS 2022 A second survey (Public Attitudes towards the Liberal Script, 2021–22): countries and samples, and its questions on the same three themes, India vs the same regions
V. India across both surveys Questions asked in both WVS 2023 and PALS 2022, grouped by the report’s measures: India’s rank among the 15 countries in both surveys, and India’s nearest countries
VI. How far is India from the others? The same bridge questions on their full scales: India’s rank, z-score and effect size in each survey, how well each pair agrees across countries, and nearest countries by statistical distance
VII. Rich and poor Income groups (bottom 25%, middle 50%, top 25% within each country) in thirteen countries (India, Indonesia, Malaysia, Thailand, Nigeria, Egypt, Jordan, Turkey, Brazil, Uruguay, Germany, the Netherlands, the United States; seven in PALS): do India’s poor, and its rich, answer like those of other countries? WVS and PALS shown separately

Comparison set: India against 6 world regions (UN geoscheme, adjusted), keeping countries surveyed in at least 3 of the 4 waves from W4 (India 2001) to W7 (India 2023). The earlier 1995 wave is not used.

Two caveats on India’s samples, set out in Part I:

  1. The 2001, 2006 and 2012 samples carry no weights: they are male-skewed and, in 2006 and 2012, mostly rural.
  2. The 2023 sample is a quota sample in 8 states.

Part I. Data, samples and coverage

knitr::opts_chunk$set(message = FALSE, warning = FALSE)
options(knitr.table.format = "html")

library(dplyr)
library(tidyr)
library(purrr)
library(tibble)
library(knitr)
library(kableExtra)

# All cleaning and categorisation happens in R/00_wvs_clean_harmonise.R
wvs_all <- readRDS("D:/Populism and Democrary/World value survey/data/clean/wvs_harmonised.rds")

# Comparison set: India vs the world regions (UN geoscheme, adjusted; see R/00_wvs_clean_harmonise.R),
# countries surveyed in at least 3 of W4-W7. W3 (1994-99, India 1995) is dropped from this report.
# (The column is called macro_region here so the tables below work unchanged.)
focus_regions <- c("India", "South-eastern Asia", "Western Asia & Northern Africa", "Sub-Saharan Africa",
                   "Latin America & Caribbean", "Eastern Europe", "Western Europe & Offshoots")
wvs <- wvs_all |>
  filter(wave != "W3", wb_3waves, un_region %in% focus_regions) |>
  mutate(macro_region = factor(as.character(un_region), focus_regions))

wave_labels <- c(W4 = "W4", W5 = "W5", W6 = "W6", W7 = "W7")
india_years <- c(W4 = "2001", W5 = "2006", W6 = "2012", W7 = "2023")
regions     <- levels(wvs$macro_region)

wmean <- function(x, w) {
  ok <- !is.na(x) & !is.na(w)
  if (!any(ok)) NA_real_ else sum(x[ok] * w[ok]) / sum(w[ok])
}
styled <- function(k) kable_styling(k, bootstrap_options = c("striped", "condensed"), full_width = FALSE)

The comparison set is India against 6 world regions, built from the countries surveyed in at least 3 of the 4 waves (2001–2023). Every table in this part is restricted to these countries.

Before testing any claim, this part sets out:

  • what each wave covers
  • how countries are grouped into regions, and how region averages are weighted
  • the demographic make-up of each region and of India
  • how the India samples were drawn and weighted

Parts II and III use the same data (data/clean/wvs_harmonised.rds), the same countries and the same regions.

The four waves

per_country <- wvs |> count(wave, country_code)

wvs |>
  group_by(wave) |>
  summarise(Fieldwork   = paste(min(survey_year, na.rm = TRUE), max(survey_year, na.rm = TRUE), sep = "–"),
            Countries   = n_distinct(country_code),
            Respondents = n(),
            `Under 18`  = sum(age < 18, na.rm = TRUE),
            .groups = "drop") |>
  left_join(per_country |> group_by(wave) |>
              summarise(`Median N per country` = median(n), `Smallest` = min(n), `Largest` = max(n)),
            by = "wave") |>
  mutate(`India survey` = india_years[wave]) |>
  rename(Wave = wave) |>
  kable(caption = "Coverage of the four waves (India and the 6 regions)", format.args = list(big.mark = ",")) |>
  styled() |>
  footnote(general = "W3 (1994–99) is not used. 'Under 18': respondents aged 15–17 (a few countries sample from 15 or 16); Parts II and III use adults only.",
           general_title = "")
Coverage of the four waves (India and the 6 regions)
Wave Fieldwork Countries Respondents Under 18 Median N per country Smallest Largest India survey
W4 1999–2004 23 37,052 490 1,251 1,000 3,401 2001
W5 2004–2008 31 49,503 518 1,421 954 3,051 2006
W6 2011–2014 32 51,402 91 1,493 841 4,078 2012
W7 2017–2023 33 51,972 387 1,289 1,000 4,018 2023
W3 (1994–99) is not used. ‘Under 18’: respondents aged 15–17 (a few countries sample from 15 or 16); Parts II and III use adults only.

Countries and regions

Region scheme

The regions follow the UN geoscheme (the UN Statistics Division’s M49 standard), the same grouping PALS uses for its “your region” questions. The WVS itself has no world-region variable for all waves. The UN sub-regions are used with these adjustments:

  • India is its own group.
  • Western Asia and Northern Africa are combined (Turkey, Iraq, Jordan, Cyprus, Egypt, Morocco).
  • Western Europe & Offshoots: Western, Northern and Southern Europe together with the United States, Canada, Australia and New Zealand.
  • Kyrgyzstan (Central Asia) and Serbia are placed in Eastern Europe.

Only countries surveyed in at least 3 of the 4 waves are kept, so that each region is made of roughly the same countries over time.

How to read this: even with the 3-wave rule, the countries in a region change somewhat from wave to wave, so a change in a region’s average can reflect which countries were surveyed, not only changing attitudes. Three cases need care:

  • Thin regions: Sub-Saharan Africa has three countries, and only one (South Africa) in W5. Where a region has a single country in a wave, it is named under each table in Parts II and III.
  • W4 (2001) gaps: Western Europe & Offshoots is thin in W4 (Australia and New Zealand were not surveyed, and most European countries were covered that round by the separate European Values Study).
  • Israel (surveyed in W4 only) is removed from the data altogether.
cl <- wvs |>
  count(macro_region, country_name, wave) |>
  mutate(n = format(n, big.mark = ",")) |>
  pivot_wider(names_from = wave, values_from = n, values_fill = "—") |>
  select(macro_region, Country = country_name, any_of(c("W4", "W5", "W6", "W7"))) |>
  arrange(macro_region, Country)

cl |>
  select(-macro_region) |>
  kable(caption = "Every country in the comparison, with respondents per wave (all ages)", align = c("l", rep("r", 4))) |>
  styled() |>
  pack_rows(index = table(cl$macro_region)) |>
  scroll_box(height = "500px")
Every country in the comparison, with respondents per wave (all ages)
Country W4 W5 W6 W7
India
India 2,002 2,001 4,078 1,692
South-eastern Asia
Indonesia 1,000 2,015 — 3,200
Malaysia — 1,201 1,300 1,313
Philippines 1,200 — 1,200 1,200
Singapore 1,512 — 1,972 2,012
Thailand — 1,534 1,200 1,500
Vietnam 1,000 1,495 — 1,200
Western Asia & Northern Africa
Cyprus — 1,050 1,000 1,000
Egypt 3,000 3,051 1,523 1,200
Iraq 2,325 2,701 1,200 1,200
Jordan 1,223 1,200 1,200 1,203
Morocco 1,251 1,200 1,200 1,200
Turkey 3,401 1,346 1,605 2,415
Sub-Saharan Africa
Nigeria 2,022 — 1,759 1,237
South Africa 3,000 2,988 3,531 —
Zimbabwe 1,002 — 1,500 1,215
Latin America & Caribbean
Argentina 1,280 1,002 1,030 1,003
Brazil — 1,500 1,486 1,762
Chile 1,200 1,000 1,000 1,000
Colombia — 3,025 1,512 1,520
Mexico 1,535 1,560 2,000 1,741
Peru 1,501 1,500 1,210 1,400
Uruguay — 1,000 1,000 1,000
Eastern Europe
Kyrgyzstan 1,043 — 1,500 1,200
Romania — 1,776 1,503 1,257
Russia — 2,033 2,500 1,810
Serbia 1,200 1,220 — 1,046
Ukraine — 1,000 1,500 1,289
Western Europe & Offshoots
Australia — 1,421 1,477 1,813
Canada 1,931 2,164 — 4,018
Germany — 2,064 2,046 1,528
Netherlands — 1,050 1,902 2,145
New Zealand — 954 841 1,057
Spain 1,209 1,200 1,189 —
Sweden 1,015 1,003 1,206 —
United States 1,200 1,249 2,232 2,596

How region averages are weighted

Within a country: every estimate uses that country’s own survey weight (W4 V245, W5 V259, W6 V258, W7 W_WEIGHT). These weights correct each national sample towards the national population, mainly on sex, age and education.

Across countries (a region): the region value is the simple mean of its country estimates. Every country counts once, whatever its population or sample size:

  • The United States counts the same as New Zealand in Western Europe & Offshoots.
  • Egypt counts the same as Cyprus in Western Asia & Northern Africa.

This equals pooling respondents with the WVS equilibrated weight (S018), which rescales every country to N = 1,000.

India vs a region: India is always shown on its own. The comparison is therefore India vs the average country in each region, not India vs the region’s population. That is why every comparison table also gives India’s rank among the countries in the comparison (India plus every country surveyed in that wave). The rank does not depend on averaging.

Why not weight by population? Population-weighting would let the United States dominate Western Europe & Offshoots, Indonesia South-eastern Asia and Brazil Latin America. The WVS samples national publics, so the unit of comparison is the country.

The table below checks how much region averages move when only the countries surveyed in W5, W6 and W7 are kept (a balanced panel). The example indicator is “a strong leader who does not bother with parliament and elections is good”.

country_est <- wvs |>
  filter(is.na(age) | age >= 18) |>
  group_by(wave, country_code, macro_region) |>
  filter(any(!is.na(reg_strongleader_good))) |>
  summarise(est = 100 * wmean(reg_strongleader_good, weight), .groups = "drop")

panel_ids <- wvs |>
  distinct(country_code, wave) |>
  group_by(country_code) |>
  filter(all(c("W5", "W6", "W7") %in% wave)) |>
  distinct(country_code) |>
  pull()

bind_rows(
  country_est |> mutate(sample = "All countries"),
  country_est |> filter(country_code %in% panel_ids) |> mutate(sample = "Balanced panel (W5–W7)")
) |>
  filter(wave %in% c("W5", "W6", "W7")) |>
  group_by(macro_region, sample, wave) |>
  summarise(cell = sprintf("%.1f <small>(%d)</small>", mean(est), n()), .groups = "drop") |>
  pivot_wider(names_from = wave, values_from = cell, values_fill = "—") |>
  rename(Region = macro_region, Sample = sample) |>
  kable(escape = FALSE, caption = "Strong leader is good (%): all countries vs balanced panel") |>
  styled() |>
  collapse_rows(columns = 1, valign = "top") |>
  footnote(general = "Cells: mean of country estimates (number of countries). Adults only.",
           general_title = "")
Strong leader is good (%): all countries vs balanced panel
Region Sample W5 W6 W7
India All countries 63.9 (1) 64.9 (1) 69.1 (1)
Balanced panel (W5–W7) 63.9 (1) 64.9 (1) 69.1 (1)
South-eastern Asia All countries 40.8 (4) 47.9 (4) 70.2 (6)
Balanced panel (W5–W7) 65.2 (2) 40.6 (2) 80.5 (2)
Western Asia & Northern Africa All countries 30.5 (6) 47.7 (6) 53.3 (6)
Balanced panel (W5–W7) 30.5 (6) 47.7 (6) 53.3 (6)
Sub-Saharan Africa All countries 43.1 (1) 39.6 (3) 49.7 (2)
Latin America & Caribbean All countries 44.7 (7) 52.9 (7) 61.1 (7)
Balanced panel (W5–W7) 44.7 (7) 52.9 (7) 61.1 (7)
Eastern Europe All countries 57.8 (4) 76.0 (4) 65.8 (5)
Balanced panel (W5–W7) 66.5 (3) 73.9 (3) 69.0 (3)
Western Europe & Offshoots All countries 25.8 (8) 30.5 (7) 28.8 (6)
Balanced panel (W5–W7) 26.8 (5) 27.9 (5) 29.7 (5)
Cells: mean of country estimates (number of countries). Adults only.

Demographic profile by region

Each cell is the mean of country-level weighted values, so it describes the average country in the region, as in Parts II and III. All respondents are included.

Profile by wave

demo_country <- wvs |>
  group_by(wave, country_code, macro_region) |>
  summarise(
    `Female %`          = 100 * wmean(sex == 2, weight),
    `Mean age`          = wmean(age, weight),
    `18–34 %`           = 100 * wmean(age_cat3 == "18-34", weight),
    `55+ %`             = 100 * wmean(age_cat3 == "55+", weight),
    `Lower education %` = 100 * wmean(educ3 == "Lower", weight),
    `Higher education %`= 100 * wmean(educ3 == "Higher", weight),
    `Upper / upper-middle class %` = 100 * wmean(class3 == "Upper / upper middle", weight),
    `Lower class %`     = 100 * wmean(class3 == "Lower", weight),
    .groups = "drop")

for (w in c("W4", "W5", "W6", "W7")) {
  cat("\n\n#### ", w, " (India ", india_years[w], ")\n\n", sep = "")
  tab <- demo_country |>
    filter(wave == w) |>
    group_by(macro_region) |>
    summarise(Countries = n(), across(`Female %`:`Lower class %`, ~ mean(.x, na.rm = TRUE))) |>
    rename(Region = macro_region)
  print(tab |>
          kable(digits = 1, caption = paste("Demographic profile by region,", w)) |>
          styled() |>
          row_spec(which(tab$Region == "India"), bold = TRUE, background = "#FFF3D6"))
}

W4 (India 2001)

Demographic profile by region, W4
Region Countries Female % Mean age 18–34 % 55+ % Lower education % Higher education % Upper / upper-middle class % Lower class %
India 1 43.2 40.2 41.5 18.1 52.2 23.4 20.0 19.8
South-eastern Asia 4 50.4 39.8 37.6 20.5 28.8 20.2 18.1 11.5
Western Asia & Northern Africa 5 50.3 36.9 50.1 13.1 54.5 15.2 19.2 18.0
Sub-Saharan Africa 3 49.6 33.9 60.2 9.1 30.6 9.3 17.2 38.7
Latin America & Caribbean 4 52.4 39.4 43.9 19.1 30.8 17.1 15.3 15.4
Eastern Europe 2 53.8 41.7 39.4 23.4 8.6 37.5 25.7 7.5
Western Europe & Offshoots 4 50.7 44.4 33.2 28.9 23.4 31.0 30.6 4.9

W5 (India 2006)

Demographic profile by region, W5
Region Countries Female % Mean age 18–34 % 55+ % Lower education % Higher education % Upper / upper-middle class % Lower class %
India 1 43.1 41.4 36.7 19.9 50.4 22.0 20.1 27.2
South-eastern Asia 4 49.4 38.5 43.7 16.2 29.6 17.0 19.9 6.6
Western Asia & Northern Africa 6 50.9 38.5 45.9 16.1 45.1 19.3 21.5 10.2
Sub-Saharan Africa 1 50.0 37.3 47.9 18.5 28.6 5.0 17.6 43.9
Latin America & Caribbean 7 52.1 41.4 41.2 23.7 37.7 17.3 9.7 16.3
Eastern Europe 4 53.3 44.9 31.5 30.8 15.8 28.0 16.4 14.6
Western Europe & Offshoots 8 52.2 47.4 25.7 35.4 18.7 30.4 27.2 4.4

W6 (India 2012)

Demographic profile by region, W6
Region Countries Female % Mean age 18–34 % 55+ % Lower education % Higher education % Upper / upper-middle class % Lower class %
India 1 43.8 41.2 38.1 19.0 46.1 13.3 18.8 14.2
South-eastern Asia 4 50.8 43.3 30.7 24.1 32.7 20.4 19.9 9.7
Western Asia & Northern Africa 6 49.6 39.1 45.3 17.7 39.8 20.9 19.4 14.2
Sub-Saharan Africa 3 51.6 35.1 59.1 13.3 18.1 9.4 13.7 41.0
Latin America & Caribbean 7 51.4 41.7 40.3 24.1 28.1 18.8 13.0 15.6
Eastern Europe 4 53.2 44.1 35.2 28.8 5.6 31.7 23.2 8.8
Western Europe & Offshoots 7 52.0 48.7 25.3 38.6 17.4 34.2 27.6 4.1

W7 (India 2023)

Demographic profile by region, W7
Region Countries Female % Mean age 18–34 % 55+ % Lower education % Higher education % Upper / upper-middle class % Lower class %
India 1 48.9 37.8 46.2 18.8 33.9 27.2 25.7 10.1
South-eastern Asia 6 51.6 41.9 36.7 22.8 51.1 24.1 20.3 12.2
Western Asia & Northern Africa 6 50.2 40.3 40.2 20.6 44.5 25.1 17.5 11.8
Sub-Saharan Africa 2 50.0 35.4 58.8 11.8 47.8 8.6 15.6 37.6
Latin America & Caribbean 7 51.7 42.8 37.2 26.9 37.4 20.8 12.3 17.2
Eastern Europe 5 54.0 45.2 32.9 32.0 14.5 46.6 26.0 8.3
Western Europe & Offshoots 6 52.9 50.6 23.4 44.1 10.4 41.8 37.2 4.5

Religion by region

rel_country <- wvs |>
  filter(!is.na(religion_major)) |>
  group_by(wave, country_code, macro_region, religion_major) |>
  summarise(w = sum(weight), .groups = "drop_last") |>
  mutate(pct = 100 * w / sum(w)) |>
  ungroup() |>
  complete(nesting(wave, country_code, macro_region), religion_major, fill = list(pct = 0))

rel_country |>
  filter(wave == "W7") |>
  group_by(macro_region, religion_major) |>
  summarise(pct = mean(pct), .groups = "drop") |>
  pivot_wider(names_from = religion_major, values_from = pct) |>
  rename(Region = macro_region) |>
  kable(digits = 1, caption = "Religious denomination by region, W7 (% of respondents, mean of countries)") |>
  styled() |>
  scroll_box(width = "100%")
Religious denomination by region, W7 (% of respondents, mean of countries)
Region None Catholic Protestant Orthodox Jewish Muslim Hindu Buddhist Other Christian Other
India 0.0 1.2 0.0 0.0 0.0 9.5 83.0 1.4 0.0 4.8
South-eastern Asia 16.8 15.4 5.0 0.3 0.0 29.0 2.0 26.1 3.5 1.9
Western Asia & Northern Africa 0.7 0.1 0.0 12.0 0.0 86.4 0.0 0.0 0.8 0.0
Sub-Saharan Africa 6.0 39.7 19.9 2.6 1.8 29.5 0.0 0.0 0.3 0.3
Latin America & Caribbean 28.8 54.5 10.0 0.1 0.1 0.0 0.2 0.1 2.5 3.7
Eastern Europe 10.0 3.7 2.3 63.1 0.1 19.7 0.1 0.1 0.5 0.4
Western Europe & Offshoots 48.2 21.4 13.1 1.1 0.8 2.0 0.9 1.0 9.3 2.2

The India samples

How each sample was drawn

tribble(
  ~` `,              ~`2001 (W4)`, ~`2006 (W5)`, ~`2012 (W6)`, ~`2023 (W7)`,
  "Fieldwork",       "2001", "Dec 2006 – Jan 2007", "2012", "5 Jun – 2 Jul 2023",
  "Organisation",    "Not documented in docs/", "Lokniti Network (PI Sandeep Shastri)", "Sandeep Shastri (Jain University CERRSE); W7 report credits Lokniti-CSDS", "Lokniti-CSDS",
  "Design",          "Not documented in docs/", "Multistage stratified random sample from electoral rolls: 40 Lok Sabha seats → 80 assembly seats → 160 polling stations → voters", "Four-stage stratified random sample from electoral rolls (Lok Sabha seats → assembly seats → polling stations → voters). Plan: 320 seats, 19,444 target", "8 states chosen purposively; 15 assembly seats (PPS); 60 polling stations; random-walk households; age and gender quotas",
  "States",          "18", "18 of 28 (97% of population)", "17", "8: Bihar, Delhi, Haryana, Maharashtra, Punjab, Telangana, UP, West Bengal",
  "Achieved N",      "2,002", "2,001", "4,078", "1,692 (1,371 aged 18+)",
  "Age range",       "18+", "18+", "18+", "16+ (321 aged 16–17 by design)",
  "Languages",       "—", "10", "—", "5",
  "Comparable as a national trend point?", "Yes", "Yes", "Yes", "Partly: 8 states, quota, 60 clusters"
) |>
  kable(caption = "India sample designs (from docs/ in each wave folder)") |>
  styled() |>
  column_spec(1, bold = TRUE) |>
  footnote(general = "Sources: W5 study description; W6 India sample design proposal; W7 India technical report (Lokniti-CSDS, July 2023). No India methodology document for W4 is in the project folder.",
           general_title = "")
India sample designs (from docs/ in each wave folder)
2001 (W4) 2006 (W5) 2012 (W6) 2023 (W7)
Fieldwork 2001 Dec 2006 – Jan 2007 2012 5 Jun – 2 Jul 2023
Organisation Not documented in docs/ Lokniti Network (PI Sandeep Shastri) Sandeep Shastri (Jain University CERRSE); W7 report credits Lokniti-CSDS Lokniti-CSDS
Design Not documented in docs/ Multistage stratified random sample from electoral rolls: 40 Lok Sabha seats → 80 assembly seats → 160 polling stations → voters Four-stage stratified random sample from electoral rolls (Lok Sabha seats → assembly seats → polling stations → voters). Plan: 320 seats, 19,444 target 8 states chosen purposively; 15 assembly seats (PPS); 60 polling stations; random-walk households; age and gender quotas
States 18 18 of 28 (97% of population) 17 8: Bihar, Delhi, Haryana, Maharashtra, Punjab, Telangana, UP, West Bengal
Achieved N 2,002 2,001 4,078 1,692 (1,371 aged 18+)
Age range 18+ 18+ 18+ 16+ (321 aged 16–17 by design)
Languages — 10 — 5
Comparable as a national trend point? Yes Yes Yes Partly: 8 states, quota, 60 clusters
Sources: W5 study description; W6 India sample design proposal; W7 India technical report (Lokniti-CSDS, July 2023). No India methodology document for W4 is in the project folder.

Where the interviews were done

wvs |>
  filter(is_india) |>
  count(in_state = tidyr::replace_na(in_state, "Not recorded"), wave) |>
  mutate(n = as.character(n)) |>
  pivot_wider(names_from = wave, values_from = n, values_fill = "—") |>
  rename(State = in_state, `2001` = W4, `2006` = W5, `2012` = W6, `2023` = W7) |>
  arrange(State) |>
  kable(caption = "India: interviews per state", align = c("l", rep("r", 4))) |>
  styled() |>
  footnote(general = "Bihar, Delhi, Haryana, Maharashtra, Punjab, Uttar Pradesh and West Bengal are the only states in all four waves.",
           general_title = "")
India: interviews per state
State 2001 2006 2012 2023
Andhra Pradesh 152 143 307 —
Assam 61 52 — —
Bihar 147 197 332 241
Chhattisgarh 46 44 99 —
Delhi 43 38 94 229
Gujarat 96 102 259 —
Haryana 50 44 122 115
Jharkhand 65 52 160 —
Karnataka 112 103 239 —
Kerala 71 59 192 —
Madhya Pradesh 115 104 256 —
Maharashtra 194 201 280 202
Not recorded — 1 — —
Odisha 68 75 355 —
Punjab 49 53 151 122
Rajasthan 102 112 278 —
Tamil Nadu 129 165 — —
Telangana — — — 210
Unlabelled (W6 code 356019) — — 64 —
Uttar Pradesh 328 301 596 360
West Bengal 174 155 294 213
Bihar, Delhi, Haryana, Maharashtra, Punjab, Uttar Pradesh and West Bengal are the only states in all four waves.

Who was interviewed: unweighted and weighted

Comparing the raw sample with the weighted one shows what the weight corrects.

india <- wvs |>
  filter(is_india) |>
  mutate(age_band = ifelse(!is.na(age) & age < 18, "16–17", as.character(age_cat3)))

profile_vars <- c(Sex = "sex_f", Age = "age_band", Education = "educ3", Religion = "in_religion",
                  Caste = "in_caste", `Subjective class` = "class3", `Town size` = "urban_size",
                  `Party would vote for` = "in_party_vote")

prof <- imap_dfr(profile_vars, function(v, lab) {
  india |>
    filter(!is.na(.data[[v]])) |>
    group_by(wave, level = as.character(.data[[v]])) |>
    summarise(n = n(), w = sum(weight), .groups = "drop_last") |>
    mutate(Unweighted = 100 * n / sum(n), Weighted = 100 * w / sum(w)) |>
    ungroup() |>
    mutate(group = lab)
})

prof_wide <- prof |>
  mutate(cell = sprintf("%.1f / %.1f", Unweighted, Weighted),
         group = factor(group, names(profile_vars)),
         year = india_years[wave]) |>
  select(group, level, year, cell) |>
  pivot_wider(names_from = year, values_from = cell, values_fill = "—") |>
  arrange(group) |>
  select(group, level, any_of(unname(india_years)))

prof_wide |>
  select(-group) |>
  rename(` ` = level) |>
  kable(caption = "India sample profile: unweighted % / weighted %", align = c("l", rep("c", 4))) |>
  styled() |>
  pack_rows(index = table(prof_wide$group)) |>
  footnote(general = "Percentages are among respondents with a valid answer on that variable. Caste was not asked in 2006.",
           general_title = "")
India sample profile: unweighted % / weighted %
2001 2006 2012 2023
Sex
Female 43.2 / 43.2 43.1 / 43.1 43.8 / 43.8 43.4 / 48.9
Male 56.8 / 56.8 56.9 / 56.9 56.2 / 56.2 56.6 / 51.1
Age
18-34 41.5 / 41.5 36.7 / 36.7 38.1 / 38.1 32.6 / 43.6
35-54 40.4 / 40.4 43.5 / 43.5 42.9 / 42.9 33.0 / 33.0
55+ 18.1 / 18.1 19.9 / 19.9 19.0 / 19.0 15.5 / 17.7
16–17 — — — 19.0 / 5.7
Education
Higher 23.4 / 23.4 22.0 / 22.0 13.3 / 13.3 23.1 / 27.2
Lower 52.2 / 52.2 50.4 / 50.4 46.1 / 46.1 32.2 / 33.9
Middle 24.4 / 24.4 27.6 / 27.6 40.6 / 40.6 44.6 / 38.9
Religion
Christian 3.0 / 3.0 3.2 / 3.2 1.6 / 1.6 1.0 / 1.2
Hindu 73.3 / 73.3 77.8 / 77.8 81.9 / 81.9 82.0 / 83.0
Muslim 11.0 / 11.0 8.3 / 8.3 11.0 / 11.0 10.4 / 9.5
None 6.7 / 6.7 3.0 / 3.0 0.4 / 0.4 —
Other (Sikh, Buddhist, Jain, …) 6.1 / 6.1 7.6 / 7.6 5.1 / 5.1 6.6 / 6.2
Caste
General / other 43.5 / 43.5 — 32.6 / 32.6 31.6 / 32.0
OBC 38.5 / 38.5 — 40.6 / 40.6 44.3 / 44.0
SC 12.9 / 12.9 — 20.1 / 20.1 19.1 / 19.2
ST 5.2 / 5.2 — 6.7 / 6.7 5.0 / 4.8
Subjective class
Lower 19.8 / 19.8 27.2 / 27.2 14.2 / 14.2 10.1 / 10.1
Lower middle / working 60.2 / 60.2 52.7 / 52.7 67.0 / 67.0 63.9 / 64.1
Upper / upper middle 20.0 / 20.0 20.1 / 20.1 18.8 / 18.8 26.0 / 25.7
Town size
100k+ 11.2 / 11.2 7.9 / 7.9 3.1 / 3.1 5.9 / 5.7
20k-100k 19.0 / 19.0 2.8 / 2.8 6.4 / 6.4 10.5 / 9.9
Under 20k 69.8 / 69.8 89.3 / 89.3 90.6 / 90.6 83.6 / 84.3
Party would vote for
BJP 28.1 / 28.1 21.5 / 21.5 28.2 / 28.2 46.0 / 45.1
INC 33.1 / 33.1 32.4 / 32.4 28.0 / 28.0 21.4 / 21.9
Left 7.1 / 7.1 8.9 / 8.9 5.5 / 5.5 3.9 / 4.0
No party / blank / other 0.3 / 0.3 8.2 / 8.2 2.2 / 2.2 9.2 / 9.3
Other party 31.5 / 31.5 28.9 / 28.9 36.2 / 36.2 19.6 / 19.7
Percentages are among respondents with a valid answer on that variable. Caste was not asked in 2006.

The India weights

india |>
  group_by(wave) |>
  summarise(N = n(),
            Min = min(weight), Max = max(weight), Mean = mean(weight),
            `CV of weights` = sd(weight) / mean(weight),
            `Design effect (1 + CV²)` = 1 + (sd(weight) / mean(weight))^2,
            `Effective N` = sum(weight)^2 / sum(weight^2),
            .groups = "drop") |>
  mutate(wave = india_years[wave]) |>
  rename(`Survey year` = wave) |>
  kable(digits = 2, caption = "India: survey weights", format.args = list(big.mark = ",")) |>
  styled() |>
  footnote(general = "Design effect here is from weighting only. Clustering (e.g. 60 polling stations in 2023) adds more, which the public data do not let us estimate.",
           general_title = "")
India: survey weights
Survey year N Min Max Mean CV of weights Design effect (1 + CV²) Effective N
2001 2,002 1.00 1.00 1 0.00 1.00 2,002.0
2006 2,001 1.00 1.00 1 0.00 1.00 2,001.0
2012 4,078 1.00 1.00 1 0.00 1.00 4,078.0
2023 1,692 0.19 1.94 1 0.44 1.19 1,419.8
Design effect here is from weighting only. Clustering (e.g. 60 polling stations in 2023) adds more, which the public data do not let us estimate.

The 2001, 2006 and 2012 India samples are unweighted. Every weight is 1, so “weighted” India estimates for those years are raw sample percentages. The profile table above shows what that means:

  • Men are 55–57% of respondents.
  • In 2006 and 2012 about 90% live in places under 20,000 people. The 2011 Census puts India’s urban share at about 31%.
  • Only 13% have higher education in 2012, against 22–23% in 2001 and 2006.

Only 2023 is weighted: 16–17 year olds are brought down from 19% to 6% of the sample, and the sex split is balanced. For India trends this means:

  1. Changes between 2012 and 2023 partly reflect a change from unweighted to weighted samples.
  2. Group breakdowns (by sex, education or town size) are more trustworthy than India totals, because they do not depend on the sample’s overall mix.
  3. A useful robustness check is to reweight 2001–2012 to Census sex × education × urban margins. This needs Census tables that are not in the project yet.

Part II. India and the world regions

This part compares India with every world region on three measures: governance vs accountability, the conception of democracy, and state support. The regions, countries and samples are described in Part I.

  • Regions: six world regions based on the UN geoscheme (UN Statistics Division, M49 standard): South-eastern Asia; Western Asia & Northern Africa; Sub-Saharan Africa; Latin America & Caribbean; Eastern Europe; and Western Europe & Offshoots (Western, Northern and Southern Europe with the United States, Canada, Australia and New Zealand). India is shown on its own. Part I gives the details.
  • Countries: only those surveyed in at least 3 of the 4 waves (2001–2023), so that each region is made of roughly the same countries over time.
  • Region averages: the mean of the country estimates, so each country counts once whatever its sample size. India is its own estimate, and is also ranked among all the countries shown. Where a region has a single country in a wave, it is named under the table.

II.1 Governance, accountability, or both?

The question. The passage argued that Indians want both democracy and a strong, effective government. Do people want a state that delivers, a state that answers to them, or both?

What is calculated. Two yes/no measures for each respondent:

  • Demand for governance (delivery), four questions: economic growth, fighting rising prices, a stable economy and the fight against crime, each counted as yes when picked among the top two aims.
  • Demand for accountability, including willingness to act, five questions: more say in government decisions and more say at work and in communities (picked among the top two aims); has signed or would sign a petition, attend a peaceful demonstration, join a boycott.

A respondent demands governance (or accountability) if they say yes to at least half of the questions they answered (2 of 4; 3 of 5). Crossing the two gives four groups: Accountability-first, Want both, Governance-first and Neither, shown as a % of those classified. Three questions on each side come from “pick your top two” lists, so choosing more delivery aims leaves less room for accountability aims.

gov_side <- "Governance (delivery): yes on at least half of 4"
acc_side <- "Accountability, including willingness to act: yes on at least half of 5"
q_gtype_rows <- tribble(
  ~side, ~var, ~question, ~format, ~mapped,
  gov_side, "pm_aims1+pm_aims2", wq(w7_aims, "A high level of economic growth"), f_aims, "Picked 1st or 2nd = yes",
  gov_side, "pm_goals1+pm_goals2", wq(w7_goals, "Fighting rising prices"), f_goal, "Picked 1st or 2nd = yes",
  gov_side, "pm_society1+pm_society2", wq(w7_soc, "A stable economy"), f_soc, "Picked 1st or 2nd = yes",
  gov_side, "pm_society1+pm_society2", wq(w7_soc, "The fight against crime"), f_soc, "Picked 1st or 2nd = yes",
  acc_side, "pm_goals1+pm_goals2", wq(w7_goals, "Giving people more say in important government decisions"), f_goal, "Picked 1st or 2nd = yes",
  acc_side, "pm_aims1+pm_aims2", wq(w7_aims, "Seeing that people have more say about how things are done at their jobs and in their communities"), f_aims, "Picked 1st or 2nd = yes",
  acc_side, "act_petition", wq(w7_act, "Signing a petition"), f_act, "1–2 (done or might do) = yes",
  acc_side, "act_demonstration", wq(w7_act, "Attending peaceful demonstrations"), f_act, "1–2 (done or might do) = yes",
  acc_side, "act_boycott", wq(w7_act, "Joining in boycotts"), f_act, "1–2 (done or might do) = yes")
q_table(q_gtype_rows)
Questions used in this section (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)
Question number in the WVS file
Question Response format How it is counted / what it maps to Asked in India W4 W5 W6 W7
Governance (delivery): yes on at least half of 4
“A high level of economic growth” — People sometimes talk about what the aims of this country should be for the next ten years. Would you please say which one of these you, yourself, consider the most important? And which would be the next most important? First and second choice from: A high level of economic growth / Making sure this country has strong defense forces / Seeing that people have more say about how things are done at their jobs and in their communities / Trying to make our cities and countryside more beautiful Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V120 & V121 V69 & V70 V60 & V61 Q152 & Q153
“Fighting rising prices” — If you had to choose, which one of the things on this card would you say is most important? And which would be the next most important? First and second choice from: Maintaining order in the nation / Giving people more say in important government decisions / Fighting rising prices / Protecting freedom of speech Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V122 & V123 V71 & V72 V62 & V63 Q154 & Q155
“A stable economy” — Here is another list. In your opinion, which one of these is most important? And what would be the next most important? First and second choice from: A stable economy / Progress toward a less impersonal and more humane society / Progress toward a society in which ideas count more than money / The fight against crime Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V124 & V125 V73 & V74 V64 & V65 Q156 & Q157
“The fight against crime” — Here is another list. In your opinion, which one of these is most important? And what would be the next most important? First and second choice from: A stable economy / Progress toward a less impersonal and more humane society / Progress toward a society in which ideas count more than money / The fight against crime Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V124 & V125 V73 & V74 V64 & V65 Q156 & Q157
Accountability, including willingness to act: yes on at least half of 5
“Giving people more say in important government decisions” — If you had to choose, which one of the things on this card would you say is most important? And which would be the next most important? First and second choice from: Maintaining order in the nation / Giving people more say in important government decisions / Fighting rising prices / Protecting freedom of speech Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V122 & V123 V71 & V72 V62 & V63 Q154 & Q155
“Seeing that people have more say about how things are done at their jobs and in their communities” — People sometimes talk about what the aims of this country should be for the next ten years. Would you please say which one of these you, yourself, consider the most important? And which would be the next most important? First and second choice from: A high level of economic growth / Making sure this country has strong defense forces / Seeing that people have more say about how things are done at their jobs and in their communities / Trying to make our cities and countryside more beautiful Picked 1st or 2nd = yes 2001, 2006, 2012, 2023 V120 & V121 V69 & V70 V60 & V61 Q152 & Q153
“Signing a petition” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes 2001, 2006, 2012, 2023 V134 V96 V85 Q209
“Attending peaceful demonstrations” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes 2001, 2006, 2012, 2023 V136 V98 V87 Q211
“Joining in boycotts” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes 2001, 2006, 2012, 2023 V135 V97 V86 Q210
wb_compare(c(g_accfirst = "Accountability-first", g_both = "Want both",
             g_govfirst = "Governance-first", g_neither = "Neither"),
           caption = "Governance and accountability groups (% of those classified): India vs the regions")
Governance and accountability groups (% of those classified): India vs the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Accountability-first
Western Europe & Offshoots 17.2 14.3 11.9 20.5
India 4.8 6.1 6.0 14.3
Latin America & Caribbean 7.8 7.4 7.5 9.7
Western Asia & Northern Africa 6.6 5.1 3.6 7.3
South-eastern Asia 4.4 2.7 6.4 6.6
Eastern Europe 3.1 2.1 1.8 5.9
Sub-Saharan Africa 3.4 3.8 5.2 5.3
India’s rank among all countries (1 = highest) 13 of 22 18 of 29 17 of 32 8 of 33
Want both
Western Europe & Offshoots 62.2 63.0 61.8 59.3
Latin America & Caribbean 40.4 44.6 43.4 42.2
India 43.0 43.7 35.0 32.7
Eastern Europe 41.1 35.2 23.9 31.5
Sub-Saharan Africa 43.1 41.9 38.0 28.2
South-eastern Asia 25.9 20.0 30.4 26.9
Western Asia & Northern Africa 24.0 25.8 20.7 26.0
India’s rank among all countries (1 = highest) 8 of 22 15 of 29 18 of 32 19 of 33
Governance-first
Sub-Saharan Africa 50.5 49.7 52.0 60.2
Western Asia & Northern Africa 62.9 64.2 70.4 59.8
South-eastern Asia 64.9 70.7 56.3 57.1
Eastern Europe 53.8 59.9 70.5 55.9
India 47.3 44.7 53.4 44.0
Latin America & Caribbean 47.6 43.9 45.0 42.8
Western Europe & Offshoots 18.9 21.0 24.6 18.2
India’s rank among all countries (1 = highest) 15 of 22 15 of 29 15 of 32 19 of 33
Neither
South-eastern Asia 4.8 6.5 6.9 9.4
India 4.9 5.5 5.6 9.0
Western Asia & Northern Africa 6.5 4.9 5.3 6.9
Eastern Europe 2.0 2.7 3.8 6.7
Sub-Saharan Africa 3.0 4.5 4.8 6.2
Latin America & Caribbean 4.2 4.1 4.1 5.4
Western Europe & Offshoots 1.7 1.7 1.6 2.0
India’s rank among all countries (1 = highest) 8 of 22 6 of 29 8 of 32 8 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.
wb_stack(c(g_accfirst = "Accountability-first", g_both = "Want both",
           g_govfirst = "Governance-first", g_neither = "Neither"),
         cols = c(`Accountability-first` = "#256abf", `Want both` = "#5598e7",
                  `Governance-first` = "#e34948", Neither = "#8a8983"),
         title = "Governance and accountability groups, latest wave")

Each chart: India and every region as rows, one dot per wave (light = W4, dark = W7).

gt_plots <- imap(c(g_accfirst = "Accountability-first", g_both = "Want both", g_govfirst = "Governance-first"),
                 ~ wb_dots(.y, title = .x, xlab = "% of those classified"))
if (isTRUE(getOption("wvs.static"))) invisible(lapply(gt_plots, print)) else htmltools::tagList(gt_plots)

II.2 Liberal, minimalist or illiberal?

The question. A minimalist conception of democracy asks for free elections and rejects authoritarian alternatives, but does not insist on civil rights, equal rights and a firm commitment to democracy. A maximalist liberal conception insists on all of these. An illiberal conception either does not treat free elections as essential, or accepts authoritarian ways of governing. Which do people hold?

What is calculated. The liberal score is the share of 5 liberal questions answered yes; the authoritarian score is the share of 7 authoritarian questions answered yes; the democracy score is the first minus the second (−1 to +1), following Kirsch and Welzel’s liberal-minus-authoritarian notions of democracy. The three types are bands of this score:

  • Liberal (maximalist): 0.5 or more, with free elections rated 7–10.
  • Minimalist (electoral): above 0 and below 0.5, with free elections rated 7–10.
  • Illiberal: 0 or less, or free elections rated 1–6.

Classified from 2006 (the essentials-of-democracy questions start in W5), if free elections and at least three questions in each set were answered. “People obey their rulers” was asked only from 2012, so in 2006 the authoritarian score uses six questions.

lib_side  <- "Liberal questions: liberal score = share answered yes"
aut_side  <- "Authoritarian questions: authoritarian score = share answered yes"
q_conc_rows <- tribble(
  ~side, ~var, ~question, ~format, ~mapped,
  lib_side, "dess_elections", wq(w7_ess, "People choose their leaders in free elections."), f_ess, "7–10 = yes. 1–6 = Illiberal whatever the score",
  lib_side, "dess_civilrights", wq(w7_ess, "Civil rights protect people from state oppression."), f_ess, "7–10 = yes",
  lib_side, "dess_women", wq(w7_ess, "Women have the same rights as men."), f_ess, "7–10 = yes",
  lib_side, "reg_democracy", wq(w7_sys, "Having a democratic political system"), f_sys, "1–2 (good) = yes",
  lib_side, "dem_importance", "“How important is it for you to live in a country that is governed democratically? On this scale where 1 means it is ‘not at all important’ and 10 means ‘absolutely important’ what position would you choose?”", "1 Not at all important ... 10 Absolutely important", "7–10 = yes",
  aut_side, "dess_army", wq(w7_ess, "The army takes over when government is incompetent."), f_ess, "7–10 = yes",
  aut_side, "dess_religious", wq(w7_ess, "Religious authorities ultimately interpret the laws."), f_ess, "7–10 = yes",
  aut_side, "dess_obey", wq(w7_ess, "People obey their rulers."), f_ess, "7–10 = yes (from 2012)",
  aut_side, "reg_army", wq(w7_sys, "Having the army rule"), f_sys, "1–2 (good) = yes",
  aut_side, "reg_strongleader", wq(w7_sys, "Having a strong leader who does not have to bother with parliament and elections"), f_sys, "1–2 (good) = yes",
  aut_side, "reg_experts", wq(w7_sys, "Having experts, not government, make decisions according to what they think is best for the country"), f_sys, "1–2 (good) = yes",
  aut_side, "fut_authority", wq(w7_fut, "Greater respect for authority"), "1 Good, 2 Don't mind, 3 Bad", "1 (good thing) = yes",
  "Shown for each type (not used in the rules)", "act_demonstration", wq(w7_act, "Attending peaceful demonstrations"), f_act, "1–2 = done or might do",
  "Shown for each type (not used in the rules)", "act_boycott", wq(w7_act, "Joining in boycotts"), f_act, "1–2 = done or might do")
q_table(q_conc_rows, caption = "Questions used in this section (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)")
Questions used in this section (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)
Question number in the WVS file
Question Response format How it is counted / what it maps to Asked in India W4 W5 W6 W7
Liberal questions: liberal score = share answered yes
“People choose their leaders in free elections.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes. 1–6 = Illiberal whatever the score 2006, 2012, 2023 — V154 V133 Q243
“Civil rights protect people from state oppression.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes 2006, 2012, 2023 — V157 V136 Q246
“Women have the same rights as men.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes 2006, 2012, 2023 — V161 V139 Q249
“Having a democratic political system” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes 2001, 2006, 2012, 2023 V167 V151 V130 Q238
“How important is it for you to live in a country that is governed democratically? On this scale where 1 means it is ‘not at all important’ and 10 means ‘absolutely important’ what position would you choose?” 1 Not at all important … 10 Absolutely important 7–10 = yes 2006, 2012, 2023 — V162 V140 Q250
Authoritarian questions: authoritarian score = share answered yes
“The army takes over when government is incompetent.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes 2006, 2012, 2023 — V156 V135 Q245
“Religious authorities ultimately interpret the laws.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes 2006, 2012, 2023 — V153 V132 Q242
“People obey their rulers.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes (from 2012) 2012, 2023 — — V138 Q248
“Having the army rule” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes 2001, 2006, 2012, 2023 V166 V150 V129 Q237
“Having a strong leader who does not have to bother with parliament and elections” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes 2001, 2006, 2012, 2023 V164 V148 V127 Q235
“Having experts, not government, make decisions according to what they think is best for the country” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes 2001, 2006, 2012, 2023 V165 V149 V128 Q236
“Greater respect for authority” — I’m going to read out a list of various changes in our way of life that might take place in the near future. Please tell me for each one, if it were to happen, whether you think it would be a good thing, a bad thing, or don’t you mind? 1 Good, 2 Don’t mind, 3 Bad 1 (good thing) = yes 2001, 2006, 2012, 2023 V130 V78 V69 Q45
Shown for each type (not used in the rules)
“Attending peaceful demonstrations” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 = done or might do 2001, 2006, 2012, 2023 V136 V98 V87 Q211
“Joining in boycotts” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 = done or might do 2001, 2006, 2012, 2023 V135 V97 V86 Q210
wb_compare(c(con_liberal = "Liberal (maximalist)", con_minimal = "Minimalist (electoral)",
             con_illiberal = "Illiberal"),
           caption = "Conceptions of democracy (% of those classified): India vs the regions")
Conceptions of democracy (% of those classified): India vs the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Liberal (maximalist)
Western Europe & Offshoots 72.8 67.9 70.3
Eastern Europe 48.2 31.7 31.0
Latin America & Caribbean 45.5 36.3 28.5
Western Asia & Northern Africa 36.0 28.4 26.9
India 25.0 29.5 26.4
Sub-Saharan Africa 37.5 22.6 20.7
South-eastern Asia 38.0 29.9 17.3
India’s rank among all countries (1 = highest) 24 of 29 19 of 32 21 of 33
Minimalist (electoral)
Sub-Saharan Africa 32.7 40.0 46.7
India 35.8 34.7 40.7
Latin America & Caribbean 29.2 36.0 36.7
Western Asia & Northern Africa 39.6 37.2 35.1
Eastern Europe 30.6 36.5 35.1
South-eastern Asia 32.1 33.5 33.3
Western Europe & Offshoots 13.3 15.8 13.7
India’s rank among all countries (1 = highest) 6 of 29 16 of 32 7 of 33
Illiberal
South-eastern Asia 29.9 36.6 49.4
Western Asia & Northern Africa 24.5 34.4 38.0
Latin America & Caribbean 25.4 27.7 34.8
Eastern Europe 21.2 31.8 33.9
India 39.2 35.9 32.9
Sub-Saharan Africa 29.8 37.4 32.6
Western Europe & Offshoots 13.9 16.3 16.0
India’s rank among all countries (1 = highest) 4 of 29 10 of 32 17 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.
wb_stack(c(con_liberal = "Liberal (maximalist)", con_minimal = "Minimalist (electoral)", con_illiberal = "Illiberal"),
         cols = c(`Liberal (maximalist)` = "#0d366b", `Minimalist (electoral)` = "#256abf", Illiberal = "#86b6ef"),
         title = "Conceptions of democracy, latest wave")

Each chart: India and every region as rows, one dot per wave (light = W5, dark = W7; the types are classified from 2006).

conc_plots <- imap(c(con_liberal = "Liberal (maximalist)", con_minimal = "Minimalist (electoral)", con_illiberal = "Illiberal"),
                   ~ wb_dots(.y, title = .x, xlab = "% of those classified"))
if (isTRUE(getOption("wvs.static"))) invisible(lapply(conc_plots, print)) else htmltools::tagList(conc_plots)

Do liberals act on their views?

What is shown. For each conception type: the % who have attended or might attend a peaceful demonstration, and the % who have joined or might join a boycott. If liberals act on their views, they should be more willing to protest than minimalists and illiberals.

wb_by_type("acc_demo", caption = "Has attended or might attend a peaceful demonstration (%), by conception of democracy")
Has attended or might attend a peaceful demonstration (%), by conception of democracy
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Liberal (maximalist)
Western Europe & Offshoots 73.4 74.6 77.5
Latin America & Caribbean 61.7 62.0 63.4
India 53.6 55.2 57.0
Eastern Europe 51.5 39.0 52.2
Sub-Saharan Africa 58.5 52.6 48.7
Western Asia & Northern Africa 43.3 34.3 45.9
South-eastern Asia 26.8 23.2 33.4
Minimalist (electoral)
Western Europe & Offshoots 63.5 58.7 59.7
Latin America & Caribbean 48.4 52.2 55.0
India 49.9 44.8 53.2
Eastern Europe 43.9 33.6 46.4
Sub-Saharan Africa 46.9 50.3 42.2
Western Asia & Northern Africa 34.1 30.2 35.5
South-eastern Asia 29.1 27.6 31.0
Illiberal
India 46.7 43.7 63.7
Western Europe & Offshoots 56.3 52.4 55.7
Latin America & Caribbean 45.2 46.1 47.8
Sub-Saharan Africa 38.9 42.7 40.7
Eastern Europe 44.4 31.1 38.5
Western Asia & Northern Africa 32.0 24.9 36.8
South-eastern Asia 28.4 25.4 34.0
Cells: % among respondents of that type. Regions: mean of country estimates; a country counts only with at least 30 respondents of that type. — = too few respondents or not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.
wb_by_type("acc_boycott", caption = "Has joined or might join a boycott (%), by conception of democracy")
Has joined or might join a boycott (%), by conception of democracy
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Liberal (maximalist)
Western Europe & Offshoots 65.8 67.1 75.8
India 55.2 47.7 40.6
Western Asia & Northern Africa 34.3 25.2 34.9
Latin America & Caribbean 24.7 28.4 32.3
Sub-Saharan Africa 42.5 39.2 27.9
Eastern Europe 30.3 16.7 27.3
South-eastern Asia 19.0 16.2 22.0
Minimalist (electoral)
Western Europe & Offshoots 48.1 49.6 55.5
India 46.0 35.8 40.5
Western Asia & Northern Africa 27.4 22.0 27.5
Sub-Saharan Africa 32.6 31.4 26.8
Eastern Europe 27.3 14.1 26.1
Latin America & Caribbean 18.4 22.6 23.7
South-eastern Asia 17.9 20.9 20.8
Illiberal
Western Europe & Offshoots 42.8 43.8 50.1
India 45.9 34.4 48.7
Western Asia & Northern Africa 25.7 18.9 32.0
Sub-Saharan Africa 29.0 28.1 30.0
Latin America & Caribbean 18.3 21.9 29.1
Eastern Europe 27.5 16.4 28.6
South-eastern Asia 18.9 19.4 24.6
Cells: % among respondents of that type. Regions: mean of country estimates; a country counts only with at least 30 respondents of that type. — = too few respondents or not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

What this shows.

  • In most regions, liberals are the most willing to protest. In the latest wave, 78% of liberals in Western Europe & Offshoots would attend a peaceful demonstration against 56% of illiberals; Latin America 63% vs 48%; Eastern Europe 52% vs 39%; Western Asia & Northern Africa 46% vs 37%. Boycotts show the same order. South-eastern Asia shows little difference.
  • India is the exception in 2023. Indian liberals led in 2006 and 2012 (55% vs 44% for demonstrations in 2012), but in 2023 illiberals are the most willing: 64% would demonstrate, against 57% of liberals and 53% of minimalists; for boycotts 49% against 41% and 41%. In India, holding a liberal idea of democracy no longer goes with a greater readiness to act on it.
  • India’s 2023 liberal group is small (about 300 respondents), so read the gap with some care.

II.3 State support

The question. Do people want the state to look after those who cannot look after themselves? This is kept apart from the conception types: a liberal, a minimalist or an illiberal can each be for or against state support.

What is calculated. A state supporter says yes to at least 3 of five questions: government should take more responsibility (1–4 on the 10-point scale), incomes should be made more equal (1–4), and taxing the rich, unemployment aid and the state making incomes equal rated 7–10 as essential to democracy. Classified from 2006; in 2006 only four were asked (3 of 4).

q_table(tribble(
  ~var, ~question, ~format, ~mapped,
  "econ_govresp", paste0(w7_scale, " Left: “Government should take more responsibility to ensure that everyone is provided for”. Right: “People should take more responsibility to provide for themselves”."), "1–10 between the two statements", "1–4 = yes to state support",
  "econ_income", paste0(w7_scale, " Left: “Incomes should be made more equal”. Right: “There should be greater incentives for individual effort” (W4–W6: “We need larger income differences as incentives for individual effort”)."), "1–10 between the two statements", "1–4 = yes to state support",
  "dess_taxrich", wq(w7_ess, "Governments tax the rich and subsidize the poor."), f_ess, "7–10 = yes to state support",
  "dess_unemp", wq(w7_ess, "People receive state aid for unemployment."), f_ess, "7–10 = yes to state support",
  "dess_incomeequal", wq(w7_ess, "The state makes people's incomes equal."), f_ess, "7–10 = yes to state support"),
  caption = "Questions used in this section (wording from the WVS Wave 7 questionnaire). State supporter = yes to at least 3")
Questions used in this section (wording from the WVS Wave 7 questionnaire). State supporter = yes to at least 3
Question number in the WVS file
Question Response format How it is counted / what it maps to Asked in India W4 W5 W6 W7
How would you place your views on this scale? 1 means you agree completely with the statement on the left; 10 means you agree completely with the statement on the right. Left: “Government should take more responsibility to ensure that everyone is provided for”. Right: “People should take more responsibility to provide for themselves”. 1–10 between the two statements 1–4 = yes to state support 2001, 2006, 2012, 2023 V143 V118 V98 Q108
How would you place your views on this scale? 1 means you agree completely with the statement on the left; 10 means you agree completely with the statement on the right. Left: “Incomes should be made more equal”. Right: “There should be greater incentives for individual effort” (W4–W6: “We need larger income differences as incentives for individual effort”). 1–10 between the two statements 1–4 = yes to state support 2001, 2006, 2012, 2023 V141 V116 V96 Q106
“Governments tax the rich and subsidize the poor.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes to state support 2006, 2012, 2023 — V152 V131 Q241
“People receive state aid for unemployment.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes to state support 2006, 2012, 2023 — V155 V134 Q244
“The state makes people’s incomes equal.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes to state support 2012, 2023 — — V137 Q247
wb_compare(c(state_support = "State supporters (%)"),
           caption = "State supporters: India vs the regions")
State supporters: India vs the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Asia & Northern Africa 51.0 67.7 57.7
Sub-Saharan Africa 39.1 40.7 53.5
Eastern Europe 44.5 61.6 52.9
India 46.3 71.6 52.4
South-eastern Asia 18.3 42.0 39.3
Latin America & Caribbean 27.3 45.4 38.7
Western Europe & Offshoots 29.0 39.4 38.6
India’s rank among all countries (1 = highest) 9 of 29 6 of 32 10 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.
wb_lines("state_support", title = "State supporters: India vs each region", ylab = "% state supporters")

State support and the conception of democracy

What is shown. For each conception type: the % who are state supporters. This shows whether wanting a supportive state goes with a liberal, a minimalist or an illiberal idea of democracy.

wb_by_type("state_support", caption = "State supporters (%), by conception of democracy")
State supporters (%), by conception of democracy
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Liberal (maximalist)
Western Asia & Northern Africa 52.3 71.3 64.7
Eastern Europe 44.7 68.4 58.5
India 43.7 85.6 55.1
Sub-Saharan Africa 43.3 39.2 53.1
Latin America & Caribbean 29.7 49.8 47.5
South-eastern Asia 17.9 42.7 45.8
Western Europe & Offshoots 32.4 42.1 41.2
Minimalist (electoral)
Western Asia & Northern Africa 54.8 73.2 67.3
Sub-Saharan Africa 44.9 56.4 64.5
Eastern Europe 51.8 72.8 63.5
India 49.7 77.6 60.6
South-eastern Asia 22.8 54.7 53.2
Latin America & Caribbean 28.5 50.0 45.4
Western Europe & Offshoots 25.6 40.7 42.0
Illiberal
Western Asia & Northern Africa 35.9 52.4 41.9
India 38.4 53.9 39.2
Sub-Saharan Africa 26.8 25.7 39.1
Eastern Europe 35.8 41.3 37.6
South-eastern Asia 13.5 28.3 29.8
Latin America & Caribbean 17.6 29.0 25.4
Western Europe & Offshoots 14.0 25.4 23.9
Cells: % among respondents of that type. Regions: mean of country estimates; a country counts only with at least 30 respondents of that type. — = too few respondents or not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

What this shows.

  • Everywhere, illiberals are the least state-supportive; liberals and minimalists are alike. In the latest wave, Western Europe & Offshoots: 41% of liberals and 42% of minimalists are state supporters, against 24% of illiberals; Eastern Europe 59%, 64% and 38%; Latin America 48%, 45% and 25%.
  • India follows the same pattern. In 2023, 55% of Indian liberals and 61% of minimalists are state supporters, against 39% of illiberals (2012: 86%, 78% and 54%). Wanting democracy and wanting a supportive state go together, in India as elsewhere.

What this part shows.

All figures are for the latest wave (India 2023) unless stated.

  • Governance vs accountability: India sits between Western Europe & Offshoots and the rest. 44% of Indians are governance-first, like Latin America (43%); below South-eastern Asia (57%), Eastern Europe (56%), Western Asia & Northern Africa and Sub-Saharan Africa (60%); and far above Western Europe & Offshoots (18%). India’s accountability-first share (14%) is higher than in every region except Western Europe & Offshoots (21%). “Want both” (33%) is close to Eastern Europe (32%), below Latin America (42%) and far below Western Europe & Offshoots (59%).
  • Conceptions: few liberals, many minimalists. India’s liberal share (26%) is like Western Asia & Northern Africa (27%), Latin America (29%) and Eastern Europe (31%), above South-eastern Asia (17%) and Sub-Saharan Africa (21%), and far below Western Europe & Offshoots (70%). Its minimalist share (41%) is among the highest (7th of 33 countries), with Sub-Saharan Africa (47%); Western Europe & Offshoots has 14%. Its illiberal share (33%) is mid-range: South-eastern Asia is highest (49%), Western Europe & Offshoots lowest (16%).
  • State support: India is in the upper middle. 52% of Indians are state supporters, like Eastern Europe (53%) and Sub-Saharan Africa (54%), below Western Asia & Northern Africa (58%), and above South-eastern Asia, Latin America and Western Europe & Offshoots (39% each).
  • Caution: Sub-Saharan Africa has only three countries (one in W5), so its figures rest on very few surveys.

Part III. Question by question: India and the regions

Part II combines questions into measures (groups, types, state supporters). This part shows each question on its own, so that every building block can be checked, and adds trust in institutions.

  • One table per question: rows are India and the regions of Part II (same countries: those surveyed in at least 3 of the 4 waves); columns are the waves.
  • What each cell shows: the % giving the answer that the report counts as “yes” for that question (set out in each section’s question table). India’s cell is its own estimate; a region’s cell is the mean of its countries. The last row gives India’s rank among all countries shown.
  • “—” means the question was not asked in that wave (or not in any of the region’s countries).
  • Click a tab to see each question.
# one table per question, printed under its own tab
p4_tabs <- function(items) {
  for (v in names(items)) {
    cat("\n\n#### ", items[[v]], "\n\n", sep = "")
    print(wb_compare(setNames(items[[v]], v),
                     caption = paste0(items[[v]], ": % counted as yes, India and the regions")))
  }
  cat("\n\n")
}

III.1 Trust in institutions

What is shown. For each of the 8 institutions: the % with a great deal or quite a lot of confidence (answers 1–2 on the 4-point scale). The courts question was not asked in W4.

q_table(tribble(
  ~var, ~question, ~format, ~mapped,
  "conf_civilservice", wq(w7_conf, "The civil service"), f_conf, "1–2 = trusts. State (uses power)",
  "conf_police", wq(w7_conf, "The police"), f_conf, "1–2 = trusts. State (uses power)",
  "conf_army", wq(w7_conf, "The armed forces"), f_conf, "1–2 = trusts. State (uses power)",
  "conf_govt", wq(w7_conf, "The government"), f_conf, "1–2 = trusts. State (uses power)",
  "conf_parliament", wq(w7_conf, "Parliament"), f_conf, "1–2 = trusts. Checks power",
  "conf_parties", wq(w7_conf, "Political parties"), f_conf, "1–2 = trusts. Checks power",
  "conf_press", wq(w7_conf, "The press"), f_conf, "1–2 = trusts. Checks power",
  "conf_courts", wq(w7_conf, "The courts"), f_conf, "1–2 = trusts. Checks power (not asked in W4)"))
Questions used in this section (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)
Question number in the WVS file
Question Response format How it is counted / what it maps to Asked in India W4 W5 W6 W7
“The civil service” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. State (uses power) 2001, 2006, 2012, 2023 V156 V141 V118 Q74
“The police” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. State (uses power) 2001, 2006, 2012, 2023 V152 V136 V113 Q69
“The armed forces” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. State (uses power) 2001, 2006, 2012, 2023 V148 V132 V109 Q65
“The government” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. State (uses power) 2001, 2006, 2012, 2023 V153 V138 V115 Q71
“Parliament” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. Checks power 2001, 2006, 2012, 2023 V155 V140 V117 Q73
“Political parties” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. Checks power 2001, 2006, 2012, 2023 V154 V139 V116 Q72
“The press” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. Checks power 2001, 2006, 2012, 2023 V149 V133 V110 Q66
“The courts” — I am going to name a number of organizations. For each one, could you tell me how much confidence you have in them: is it a great deal of confidence, quite a lot of confidence, not very much confidence or none at all? 1 A great deal, 2 Quite a lot, 3 Not very much, 4 None at all 1–2 = trusts. Checks power (not asked in W4) 2006, 2012, 2023 — V137 V114 Q70

Each institution

p4_tabs(c(conf_civilservice_hi = "Civil service", conf_police_hi = "Police",
          conf_army_hi = "Armed forces", conf_govt_hi = "Government",
          conf_parliament_hi = "Parliament", conf_parties_hi = "Political parties",
          conf_press_hi = "Press", conf_courts_hi = "Courts"))

Civil service

Civil service: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 48.6 54.3 61.0 80.7
South-eastern Asia 69.8 64.7 70.0 73.0
Sub-Saharan Africa 62.5 55.4 52.1 49.6
Western Europe & Offshoots 48.9 43.7 47.6 49.6
Eastern Europe 36.7 38.6 46.0 41.9
Western Asia & Northern Africa 58.1 57.3 43.1 39.4
Latin America & Caribbean 19.6 26.0 26.7 27.0
India’s rank among all countries (1 = highest) 13 of 21 10 of 30 6 of 32 2 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Police

Police: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 72.0 73.3 75.0 77.5
South-eastern Asia 68.7 64.9 67.1 73.1
Western Asia & Northern Africa 76.1 72.7 64.8 66.9
India 38.0 64.1 51.2 66.7
Eastern Europe 35.2 35.4 40.7 46.1
Sub-Saharan Africa 51.6 61.1 44.3 38.8
Latin America & Caribbean 31.4 39.3 42.0 38.8
India’s rank among all countries (1 = highest) 16 of 21 12 of 29 20 of 32 14 of 32
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Armed forces

Armed forces: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 92.0 83.3 87.1 86.8
South-eastern Asia 81.5 76.9 74.9 79.7
Western Asia & Northern Africa 73.6 76.7 74.5 74.8
Western Europe & Offshoots 57.6 63.2 68.7 74.1
Eastern Europe 65.7 64.9 64.2 71.5
Sub-Saharan Africa 54.7 63.4 58.1 53.4
Latin America & Caribbean 37.6 49.5 47.9 46.7
India’s rank among all countries (1 = highest) 3 of 22 6 of 30 3 of 31 4 of 32
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Government

Government: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
South-eastern Asia 67.1 67.1 66.6 73.8
India 56.2 54.9 50.4 65.2
Sub-Saharan Africa 53.1 70.4 45.4 46.1
Western Europe & Offshoots 41.4 37.0 39.2 40.0
Western Asia & Northern Africa 58.2 64.2 47.1 37.8
Eastern Europe 33.2 31.9 38.1 35.1
Latin America & Caribbean 33.4 42.9 38.5 26.3
India’s rank among all countries (1 = highest) 7 of 21 9 of 30 11 of 32 6 of 32
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Parliament

Parliament: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 55.2 62.4 58.4 73.7
South-eastern Asia 67.0 59.1 62.9 64.4
Sub-Saharan Africa 51.7 65.2 44.4 39.0
Western Europe & Offshoots 44.9 35.7 37.9 34.0
Eastern Europe 29.6 21.8 31.4 25.5
Western Asia & Northern Africa 51.0 54.9 34.6 23.4
Latin America & Caribbean 19.7 24.1 24.8 18.5
India’s rank among all countries (1 = highest) 6 of 21 5 of 29 5 of 32 2 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Political parties

Political parties: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
South-eastern Asia 56.7 51.4 54.4 53.3
India 33.5 46.4 37.4 42.6
Sub-Saharan Africa 39.3 43.5 36.0 31.0
Eastern Europe 20.1 16.3 28.3 20.9
Western Asia & Northern Africa 30.9 34.2 21.8 18.3
Western Europe & Offshoots 24.3 20.6 20.7 17.8
Latin America & Caribbean 16.9 18.7 18.9 13.8
India’s rank among all countries (1 = highest) 6 of 20 3 of 29 9 of 32 5 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Press

Press: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 70.3 75.8 71.8 65.6
South-eastern Asia 68.8 62.2 59.9 58.5
Sub-Saharan Africa 61.2 60.9 52.0 43.2
Western Europe & Offshoots 37.1 29.1 30.8 31.7
Eastern Europe 36.3 37.0 43.0 31.4
Western Asia & Northern Africa 50.4 49.9 39.2 30.8
Latin America & Caribbean 37.7 41.1 40.3 30.2
India’s rank among all countries (1 = highest) 2 of 21 2 of 30 1 of 32 3 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Courts

Courts: % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
South-eastern Asia 72.7 76.3 76.3
India 68.9 64.5 74.3
Western Europe & Offshoots 56.6 62.1 64.9
Western Asia & Northern Africa 74.8 64.4 57.5
Sub-Saharan Africa 65.9 52.3 48.0
Eastern Europe 32.1 36.3 35.6
Latin America & Caribbean 33.9 33.2 29.6
India’s rank among all countries (1 = highest) 8 of 29 12 of 32 7 of 32
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

III.2 Governance (delivery) questions

What is shown. The four delivery questions of II.1: the % who pick each aim as the country’s 1st or 2nd most important.

The questions are listed in the table in II.1.

Each question

p4_tabs(c(gov_growth  = "Economic growth (top two aims)",
          gov_prices  = "Fighting rising prices (top two aims)",
          gov_economy = "A stable economy (top two aims)",
          gov_crime   = "The fight against crime (top two aims)"))

Economic growth (top two aims)

Economic growth (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 84.4 78.5 80.2 78.7
Western Asia & Northern Africa 80.7 83.4 82.7 78.2
Latin America & Caribbean 82.0 82.9 83.8 76.9
Eastern Europe 89.9 87.8 88.9 76.4
South-eastern Asia 86.9 86.1 78.2 73.2
Western Europe & Offshoots 79.6 79.8 83.1 71.5
India 72.3 69.8 73.0 62.7
India’s rank among all countries (1 = highest) 21 of 22 29 of 29 28 of 32 30 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Fighting rising prices (top two aims)

Fighting rising prices (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Asia & Northern Africa 50.8 65.7 67.3 65.1
India 71.0 69.9 68.4 64.5
Eastern Europe 57.0 69.3 65.9 62.0
Sub-Saharan Africa 62.3 64.2 65.0 56.4
Latin America & Caribbean 48.3 48.4 53.0 52.8
South-eastern Asia 42.0 46.7 59.5 47.6
Western Europe & Offshoots 34.6 42.0 50.8 40.4
India’s rank among all countries (1 = highest) 2 of 23 6 of 31 9 of 32 9 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

A stable economy (top two aims)

A stable economy (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 82.5 73.9 78.4 81.2
South-eastern Asia 87.6 88.8 75.2 79.9
Eastern Europe 83.3 85.3 85.4 76.4
Western Europe & Offshoots 66.6 70.9 78.7 72.7
Latin America & Caribbean 75.5 70.4 71.1 71.9
Western Asia & Northern Africa 61.6 74.4 74.9 71.5
India 53.9 47.0 63.1 52.0
India’s rank among all countries (1 = highest) 21 of 22 29 of 29 29 of 32 33 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

The fight against crime (top two aims)

The fight against crime (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Latin America & Caribbean 56.1 62.3 61.7 59.9
Eastern Europe 64.9 59.2 52.5 50.5
Sub-Saharan Africa 67.2 79.4 46.3 49.1
India 60.1 67.6 65.6 48.3
Western Europe & Offshoots 55.5 56.6 49.0 47.7
Western Asia & Northern Africa 56.3 55.6 57.4 45.2
South-eastern Asia 39.8 33.9 45.0 40.1
India’s rank among all countries (1 = highest) 10 of 22 6 of 29 5 of 32 20 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

III.3 Accountability questions

What is shown. The five accountability questions of II.1: the % who pick more say as one of the top two aims, and the % who have done or might do each political action. The questions are listed in the table in II.1.

Each question

p4_tabs(c(acc_say_govt = "More say in important government decisions (top two aims)",
          acc_say_work = "More say at work and in communities (top two aims)",
          acc_petition = "Signing a petition (done or might do)",
          acc_demo     = "Attending peaceful demonstrations (done or might do)",
          acc_boycott  = "Joining in boycotts (done or might do)"))

More say in important government decisions (top two aims)

More say in important government decisions (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 58.9 53.7 47.1 54.7
South-eastern Asia 47.8 49.6 45.4 54.1
Latin America & Caribbean 49.8 50.7 49.3 47.1
Sub-Saharan Africa 40.0 47.4 50.2 45.6
Eastern Europe 36.1 34.8 41.1 42.3
India 33.3 35.8 35.9 41.2
Western Asia & Northern Africa 35.3 39.9 30.5 39.3
India’s rank among all countries (1 = highest) 19 of 23 24 of 31 26 of 32 26 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

More say at work and in communities (top two aims)

More say at work and in communities (top two aims): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Latin America & Caribbean 69.0 67.3 63.5 63.0
Western Europe & Offshoots 70.2 67.8 66.4 60.9
South-eastern Asia 39.5 40.0 54.9 48.1
Eastern Europe 46.9 46.7 51.1 42.6
Sub-Saharan Africa 60.6 63.2 59.4 41.1
India 30.7 35.7 38.5 34.7
Western Asia & Northern Africa 33.7 36.5 30.6 34.6
India’s rank among all countries (1 = highest) 20 of 22 26 of 29 27 of 32 29 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Signing a petition (done or might do)

Signing a petition (done or might do): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 87.1 88.4 86.8 93.3
Latin America & Caribbean 59.3 62.1 59.2 60.5
India 57.5 54.7 38.1 47.8
Eastern Europe 49.2 40.8 28.4 45.7
South-eastern Asia 38.6 27.0 27.5 40.1
Western Asia & Northern Africa 44.2 38.0 28.6 37.8
Sub-Saharan Africa 46.1 46.9 41.9 34.7
India’s rank among all countries (1 = highest) 8 of 22 17 of 31 21 of 31 20 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Attending peaceful demonstrations (done or might do)

Attending peaceful demonstrations (done or might do): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 72.9 69.6 67.6 70.9
India 52.3 46.4 47.6 57.1
Latin America & Caribbean 39.4 52.5 52.7 54.1
Eastern Europe 52.2 45.5 34.6 42.9
Sub-Saharan Africa 50.2 47.9 48.0 42.7
Western Asia & Northern Africa 26.5 36.4 30.1 38.4
South-eastern Asia 29.5 27.7 25.7 33.8
India’s rank among all countries (1 = highest) 9 of 22 20 of 31 16 of 31 12 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Joining in boycotts (done or might do)

Joining in boycotts (done or might do): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 63.7 61.9 59.6 68.0
India 40.4 44.5 39.0 42.6
Western Asia & Northern Africa 35.7 28.8 21.5 30.5
Sub-Saharan Africa 38.4 34.7 31.8 28.0
Latin America & Caribbean 24.1 20.8 23.8 27.4
Eastern Europe 35.6 27.8 15.5 25.8
South-eastern Asia 18.6 18.3 19.1 24.1
India’s rank among all countries (1 = highest) 8 of 22 9 of 31 10 of 31 11 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

III.4 Conception of democracy: liberal questions

What is shown. The five liberal questions of II.2: the % rating each 7–10 as essential to democracy, saying a democratic system is good, or rating living in a democracy as important (7–10). Asked from W5 (W4 for “democratic system”).

The questions are listed in the table in II.2.

Each question

p4_tabs(c(lib_elections = "Essential: free elections (7–10)",
          lib_civil     = "Essential: civil rights protect people from the state (7–10)",
          lib_women     = "Essential: women have the same rights as men (7–10)",
          lib_demgood   = "Having a democratic political system is good",
          lib_demimp    = "Living in a democracy is important (7–10)"))

Essential: free elections (7–10)

Essential: free elections (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 87.9 85.6 85.9
India 77.8 74.9 78.9
Sub-Saharan Africa 82.6 72.9 78.9
Eastern Europe 87.2 75.2 76.4
Western Asia & Northern Africa 86.3 82.1 76.2
Latin America & Caribbean 82.5 79.2 72.3
South-eastern Asia 76.2 70.8 62.9
India’s rank among all countries (1 = highest) 25 of 29 24 of 32 14 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: civil rights protect people from the state (7–10)

Essential: civil rights protect people from the state (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 82.3 74.6 75.6
India 67.7 66.9 73.3
Sub-Saharan Africa 70.8 61.9 72.7
Eastern Europe 85.5 72.8 72.5
Western Asia & Northern Africa 80.3 70.3 66.7
Latin America & Caribbean 71.7 60.2 56.5
South-eastern Asia 69.3 59.1 54.6
India’s rank among all countries (1 = highest) 25 of 29 17 of 32 11 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: women have the same rights as men (7–10)

Essential: women have the same rights as men (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 90.9 87.5 87.1
Eastern Europe 87.9 78.1 79.5
India 71.0 79.0 77.4
Latin America & Caribbean 85.3 79.7 71.5
Western Asia & Northern Africa 72.2 67.7 69.1
Sub-Saharan Africa 76.1 59.9 66.1
South-eastern Asia 75.3 66.3 65.0
India’s rank among all countries (1 = highest) 24 of 29 16 of 32 17 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Having a democratic political system is good

Having a democratic political system is good: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 92.5 92.7 91.9 91.8
Sub-Saharan Africa 91.0 90.3 86.8 90.0
South-eastern Asia 91.9 93.7 87.8 87.3
Latin America & Caribbean 88.6 90.2 90.3 85.4
India 93.0 91.7 90.0 84.2
Western Asia & Northern Africa 94.3 94.6 93.7 82.6
Eastern Europe 87.8 83.6 81.0 81.5
India’s rank among all countries (1 = highest) 12 of 23 19 of 31 20 of 32 22 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Living in a democracy is important (7–10)

Living in a democracy is important (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Europe & Offshoots 90.7 88.4 87.8
India 46.4 73.7 83.0
Sub-Saharan Africa 89.9 77.8 81.7
Latin America & Caribbean 83.5 83.6 81.7
Western Asia & Northern Africa 92.6 86.0 80.5
South-eastern Asia 86.8 79.9 79.2
Eastern Europe 76.6 75.2 75.4
India’s rank among all countries (1 = highest) 29 of 29 30 of 32 14 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

III.5 Conception of democracy: authoritarian questions

What is shown. The seven authoritarian questions of II.2: the % rating each 7–10 as essential to democracy, calling each way of governing good, or saying greater respect for authority would be a good thing. The questions are listed in the table in II.2.

Each question

p4_tabs(c(aut_army_ess  = "Essential: the army takes over when government is incompetent (7–10)",
          aut_relig_ess = "Essential: religious authorities interpret the laws (7–10)",
          aut_obey      = "Essential: people obey their rulers (7–10)",
          aut_army_rule = "Having the army rule is good",
          aut_strong    = "Having a strong leader who does not bother with parliament and elections is good",
          aut_experts   = "Having experts, not government, make decisions is good",
          aut_authority = "Greater respect for authority would be a good thing"))

Essential: the army takes over when government is incompetent (7–10)

Essential: the army takes over when government is incompetent (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 36.1 37.1 42.2
India 38.3 45.0 40.4
South-eastern Asia 35.8 30.5 39.2
Eastern Europe 30.0 30.0 37.7
Western Asia & Northern Africa 44.5 35.4 35.5
Latin America & Caribbean 28.5 26.5 30.1
Western Europe & Offshoots 14.9 12.1 12.1
India’s rank among all countries (1 = highest) 9 of 29 4 of 31 9 of 31
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: religious authorities interpret the laws (7–10)

Essential: religious authorities interpret the laws (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Western Asia & Northern Africa 46.8 42.9 34.1
India 21.7 23.3 33.2
South-eastern Asia 43.5 30.8 33.0
Sub-Saharan Africa 41.2 37.3 33.0
Eastern Europe 22.7 19.0 24.2
Latin America & Caribbean 23.1 20.3 20.2
Western Europe & Offshoots 7.2 7.6 5.5
India’s rank among all countries (1 = highest) 15 of 29 13 of 32 10 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: people obey their rulers (7–10)

Essential: people obey their rulers (7–10): % counted as yes, India and the regions
W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 60.9 74.0
India 53.8 58.4
Eastern Europe 47.4 50.3
South-eastern Asia 56.9 49.9
Western Asia & Northern Africa 53.9 48.6
Latin America & Caribbean 48.0 40.5
Western Europe & Offshoots 26.7 26.5
India’s rank among all countries (1 = highest) 12 of 32 8 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.

Having the army rule is good

Having the army rule is good: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
South-eastern Asia 52.2 59.1 38.3 54.9
India 20.0 36.0 45.2 39.0
Sub-Saharan Africa 19.8 32.7 36.1 33.3
Eastern Europe 22.4 19.9 25.2 32.3
Western Asia & Northern Africa 30.2 38.0 23.1 30.2
Latin America & Caribbean 22.9 26.0 26.8 29.5
Western Europe & Offshoots 7.0 7.4 7.6 8.6
India’s rank among all countries (1 = highest) 10 of 21 7 of 31 4 of 30 11 of 31
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Having a strong leader who does not bother with parliament and elections is good

Having a strong leader who does not bother with parliament and elections is good: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
South-eastern Asia 51.1 40.8 47.9 70.2
India 59.1 63.9 64.9 69.1
Eastern Europe 40.0 57.8 76.0 65.8
Latin America & Caribbean 44.8 44.7 52.9 61.1
Western Asia & Northern Africa 32.4 30.5 47.7 53.3
Sub-Saharan Africa 34.4 43.1 39.6 49.7
Western Europe & Offshoots 23.3 25.8 30.5 28.8
India’s rank among all countries (1 = highest) 5 of 23 4 of 31 7 of 32 9 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Having experts, not government, make decisions is good

Having experts, not government, make decisions is good: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 68.0 70.5 71.4 72.5
South-eastern Asia 61.8 54.2 52.1 69.4
Latin America & Caribbean 60.5 58.0 62.8 68.1
Sub-Saharan Africa 64.6 59.9 65.2 65.4
Eastern Europe 77.1 65.3 66.9 64.7
Western Asia & Northern Africa 76.6 73.0 66.2 59.1
Western Europe & Offshoots 40.9 45.3 51.0 51.0
India’s rank among all countries (1 = highest) 9 of 23 10 of 31 5 of 32 8 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Greater respect for authority would be a good thing

Greater respect for authority would be a good thing: % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 81.7 78.6 66.0 88.9
Latin America & Caribbean 71.1 78.9 73.2 71.3
Western Asia & Northern Africa 84.0 76.3 71.2 65.0
Western Europe & Offshoots 55.1 59.1 59.5 56.4
Eastern Europe 52.9 65.1 59.6 54.1
South-eastern Asia 59.8 45.3 52.2 53.8
India 43.4 38.0 43.3 50.2
India’s rank among all countries (1 = highest) 20 of 22 28 of 31 29 of 32 25 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

III.6 State support questions

What is shown. The five state-support questions of II.3: the % on the government-responsibility and equal-incomes side of the 10-point scales (1–4), and the % rating each of the three economic items 7–10 as essential to democracy.

The questions are listed in the table in II.3.

Each question

p4_tabs(c(ss_govresp_yes  = "Government should take more responsibility (1–4)",
          ss_income_yes   = "Incomes should be made more equal (1–4)",
          ss_taxrich_yes  = "Essential: governments tax the rich and subsidise the poor (7–10)",
          ss_unemp_yes    = "Essential: state aid for unemployment (7–10)",
          ss_incomeeq_yes = "Essential: the state makes people's incomes equal (7–10)"))

Government should take more responsibility (1–4)

Government should take more responsibility (1–4): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Sub-Saharan Africa 59.4 47.4 49.6 64.9
Western Asia & Northern Africa 56.7 64.0 64.8 50.6
Eastern Europe 58.4 54.2 58.4 46.8
Latin America & Caribbean 47.8 45.0 48.7 44.4
India 51.5 48.4 66.7 39.5
Western Europe & Offshoots 39.0 32.7 34.1 36.7
South-eastern Asia 32.5 30.5 34.0 35.6
India’s rank among all countries (1 = highest) 13 of 23 12 of 31 5 of 32 20 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Incomes should be made more equal (1–4)

Incomes should be made more equal (1–4): % counted as yes, India and the regions
W4 (1999–2004) W5 (2004–09) W6 (2010–16) W7 (2017–23)
Latin America & Caribbean 40.9 35.3 45.1 36.3
Western Asia & Northern Africa 27.3 35.9 44.6 33.8
Western Europe & Offshoots 35.4 31.4 41.3 33.1
Sub-Saharan Africa 31.6 37.8 21.8 24.9
India 54.4 48.0 71.1 20.6
Eastern Europe 36.3 31.8 49.5 19.3
South-eastern Asia 16.9 15.1 27.9 19.1
India’s rank among all countries (1 = highest) 3 of 22 4 of 31 1 of 32 25 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: governments tax the rich and subsidise the poor (7–10)

Essential: governments tax the rich and subsidise the poor (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
India 72.7 65.0 69.4
Western Asia & Northern Africa 70.3 66.3 60.6
Eastern Europe 63.5 55.5 58.6
Sub-Saharan Africa 60.1 44.7 54.0
South-eastern Asia 59.9 55.6 52.5
Western Europe & Offshoots 51.1 49.3 52.1
Latin America & Caribbean 44.3 41.6 38.5
India’s rank among all countries (1 = highest) 5 of 29 7 of 32 6 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: state aid for unemployment (7–10)

Essential: state aid for unemployment (7–10): % counted as yes, India and the regions
W5 (2004–09) W6 (2010–16) W7 (2017–23)
Eastern Europe 81.5 70.6 68.9
Sub-Saharan Africa 74.7 57.2 67.1
Western Asia & Northern Africa 74.9 72.7 66.1
India 73.5 69.0 66.0
Western Europe & Offshoots 66.7 61.0 58.6
Latin America & Caribbean 59.4 57.7 55.1
South-eastern Asia 50.1 56.2 48.7
India’s rank among all countries (1 = highest) 15 of 29 15 of 32 13 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.
Single country: Sub-Saharan Africa in W5 = South Africa.

Essential: the state makes people’s incomes equal (7–10)

Essential: the state makes people’s incomes equal (7–10): % counted as yes, India and the regions
W6 (2010–16) W7 (2017–23)
Western Asia & Northern Africa 59.8 58.2
Eastern Europe 59.2 57.6
India 64.3 54.7
South-eastern Asia 46.8 47.2
Sub-Saharan Africa 38.7 46.6
Latin America & Caribbean 45.7 40.5
Western Europe & Offshoots 27.6 27.7
India’s rank among all countries (1 = highest) 6 of 32 11 of 33
Regions: mean of the country estimates. India: its own estimate. — = not asked.

Part IV. PALS 2022: India and the regions

The PALS survey (Public Attitudes towards the Liberal Script, Wave 1) was carried out in 26 countries between December 2021 and July 2022. It asks several questions close to the themes of this report, often more directly than the WVS. It is used here as a second, independent look at India against the same regions.

  • One survey, one time point: there is no trend; India was interviewed in February–March 2022.
  • Mode: India and six other countries were interviewed face to face; the rest online. Online samples under-represent people without internet access, so differences between India and the online countries partly reflect mode.
  • Scales: most questions are 1–6 scales between two statements (or from “fully disagree” to “fully agree”). Each cell shows the % on the 4–6 side: leaning towards the right-hand statement, or agreeing. Answers “prefer not to say” and “don’t know” are left out.
  • Weights: each country uses PALS’s post-stratification weight (w2); a region is the mean of its countries, as in Parts II and III. India is ranked among all countries shown.
  • Regions: the same six regions as the WVS parts. Japan and South Korea (Eastern Asia) are left out; Latvia sits in Western Europe & Offshoots, as the UN places it in Northern Europe.
library(haven)
pals_raw <- read_dta("D:/Populism and Democrary/World value survey/PALS/PALS dataset.dta")
pals_region_of <- c(
  "India" = "India",
  "Indonesia" = "South-eastern Asia", "Singapore" = "South-eastern Asia",
  "Türkiye" = "Western Asia & Northern Africa", "Tunisia" = "Western Asia & Northern Africa",
  "Ghana" = "Sub-Saharan Africa", "Nigeria" = "Sub-Saharan Africa", "Senegal" = "Sub-Saharan Africa",
  "South Africa" = "Sub-Saharan Africa",
  "Brazil" = "Latin America & Caribbean", "Chile" = "Latin America & Caribbean",
  "Mexico" = "Latin America & Caribbean", "Peru" = "Latin America & Caribbean",
  "Poland" = "Eastern Europe", "Russian Federation" = "Eastern Europe",
  "France" = "Western Europe & Offshoots", "Germany" = "Western Europe & Offshoots",
  "Italy" = "Western Europe & Offshoots", "Spain" = "Western Europe & Offshoots",
  "Sweden" = "Western Europe & Offshoots", "Latvia" = "Western Europe & Offshoots",
  "United Kingdom of Great Britain and Northern Ireland" = "Western Europe & Offshoots",
  "United States of America" = "Western Europe & Offshoots", "Australia" = "Western Europe & Offshoots")
pals_capi <- c("Ghana", "India", "Nigeria", "Peru", "Senegal", "South Africa", "Tunisia")
pals <- pals_raw |>
  mutate(country_name = as.character(as_factor(country)),
         region = factor(unname(pals_region_of[country_name]), wb_regions)) |>
  filter(!is.na(region)) |>
  mutate(country_name = recode(country_name,
                               "United Kingdom of Great Britain and Northern Ireland" = "United Kingdom",
                               "United States of America" = "United States",
                               "Russian Federation" = "Russia"))

# one table per question, under tabs: India and the regions in descending order, with India's rank
pals_table <- function(items, caption, side = 4:6) {
  cat("\n\n### ", caption, " {.tabset}\n\n", sep = "")
  for (v in names(items)) {
    est <- pals |>
      transmute(region, country_name, w = w2, x = as.numeric(zap_labels(.data[[v]]))) |>
      filter(!is.na(x), x %in% c(0:6)) |>
      group_by(region, country_name) |>
      summarise(est = 100 * weighted.mean(if (all(x %in% 0:1)) x else as.numeric(x %in% side), w), .groups = "drop")
    rk <- est |> mutate(r = rank(-est, ties.method = "min")) |> filter(country_name == "India")
    tab <- est |> group_by(Region = as.character(region)) |> summarise(v = mean(est), .groups = "drop") |>
      arrange(desc(v)) |> mutate(`%` = sprintf("%.0f", v)) |> select(Region, `%`)
    cat("\n\n#### ", items[[v]], "\n\n", sep = "")
    print(tab |>
            kable(caption = paste0(items[[v]], " (%)"), align = c("l", "c")) |>
            styled() |>
            footnote(general = c(sprintf("India's rank among the %d PALS countries shown: %d (1 = highest).", nrow(est), rk$r),
                                 "Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates."),
                     general_title = ""))
  }
  cat("\n\n")
}
# plain question table for PALS items
# rows: Stem (introduction shown as a sub-heading), Code, Question, Response format, Cell shows
pals_qtable <- function(rows, caption = "PALS questions used in this section (exact wording, PALS master questionnaire)") {
  k <- rows |>
    select(-Stem) |>
    kable(caption = caption) |>
    styled() |>
    column_spec(2, width = "26em") |>
    column_spec(3, width = "18em")
  pack_rows(k, index = table(factor(rows$Stem, unique(rows$Stem))), bold = FALSE, italic = TRUE)
}
ps_d06 <- "D06: “There are different opinions about what society's goals should be for the next ten years. Below are listed some of the goals which different people would give top priority. Please, pick the two that are most important to you.”"
ps_b01 <- "B01: “There is often disagreement about what should be taken into consideration in policy-making. For each of the following situations, whose opinion should be most decisive for policy-making according to you?”"
ps_b02 <- "B02: “There are different opinions on the role of laws in society and to whom they should apply to. Some prefer that rules apply to everyone alike while others claim that this is not reasonable. Where would you place yourself on each of the following scales?”"
ps_b06 <- "B06: “People are very different, for example, in terms of gender, religion, age, ethnicity or education, but should this be taken into consideration in the way they are accepted in a society? If everyone is accepted equally, this would mean that people whose behavior and beliefs are different or which are even seen as morally wrong are also accepted. How would you place yourself on the following scale?”"
ps_d07 <- "D07: “There are different opinions on how society should be organized and how people should act. To what extent do you agree or disagree to each of the following statements?”"
ps_b03 <- "B03: “Now, we want to know what you think on how the economy should be working and how resources should be distributed. Where would you place yourself on the following scales?”"
f6_agree <- "1 “Fully disagree” ... 6 “Fully agree”"

IV.1 Countries and samples

What is shown. The PALS countries in each region, the number of respondents, and the interview mode. Japan and South Korea are not used.

pals |>
  group_by(region, country_name) |>
  summarise(n = n(), .groups = "drop") |>
  mutate(mode = ifelse(country_name %in% pals_capi, "face to face", "online")) |>
  group_by(Region = region) |>
  summarise(Countries = paste0(country_name, " (", format(n, big.mark = ","), "; ", mode, ")", collapse = "; "),
            Respondents = sum(n), .groups = "drop") |>
  kable(caption = "PALS countries by region (respondents; interview mode)", format.args = list(big.mark = ",")) |>
  styled() |>
  column_spec(2, width = "40em")
PALS countries by region (respondents; interview mode)
Region Countries Respondents
India India (2,822; face to face) 2,822
South-eastern Asia Indonesia (2,001; online); Singapore (2,010; online) 4,011
Western Asia & Northern Africa Tunisia (2,012; face to face); Türkiye (2,016; online) 4,028
Sub-Saharan Africa Ghana (2,000; face to face); Nigeria (2,000; face to face); Senegal (1,996; face to face); South Africa (2,030; face to face) 8,026
Latin America & Caribbean Brazil (2,110; online); Chile (2,005; online); Mexico (2,160; online); Peru (2,018; face to face) 8,293
Eastern Europe Poland (2,037; online); Russia (2,143; online) 4,180
Western Europe & Offshoots Australia (2,032; online); France (2,001; online); Germany (2,020; online); Italy (2,119; online); Latvia (2,100; online); Spain (2,114; online); Sweden (2,090; online); United Kingdom (2,007; online); United States (2,033; online) 18,516

IV.2 Governance and accountability

What is shown. Two sets of PALS questions close to section II.1. First, the same “most important aims” list as the WVS: respondents pick two of four, and each cell is the % who picked that aim. Second, five questions on who should decide policy when citizens disagree with another actor: each cell is the % on the 4–6 side, leaning towards that actor rather than citizens.

pq_gov_rows <- tribble(
  ~Stem, ~Code, ~Question, ~`Response format`, ~`Cell shows`,
  ps_d06, "D06_a", "“Maintaining order in the nation.”", "Selected / not selected (up to two goals)", "% who picked it",
  ps_d06, "D06_b", "“Giving people more say in important government decision.”", "Selected / not selected (up to two goals)", "% who picked it",
  ps_d06, "D06_c", "“Fighting rising prices.”", "Selected / not selected (up to two goals)", "% who picked it",
  ps_d06, "D06_d", "“Protecting freedom of speech.”", "Selected / not selected (up to two goals)", "% who picked it",
  ps_b01, "B01_a", "“What if citizens and political leaders disagree? On the scale below, please indicate whose opinion should be most decisive for policy-making according to you.”", "1 “Citizens' opinion should be most decisive for policy-making.” ... 6 “Strong political leaders' opinion should be most decisive for policy-making.”", "% 4–6",
  ps_b01, "B01_b", "“What if citizens and elected politicians disagree? ...”", "1 “Citizens' opinion ...” ... 6 “Elected politicians' opinion should be most decisive for policy-making.”", "% 4–6",
  ps_b01, "B01_c", "“What if citizens and established experts disagree? ...”", "1 “Citizens' opinion ...” ... 6 “Established experts' opinion should be most decisive for policy-making.”", "% 4–6",
  ps_b01, "B01_d", "“What if citizens and religious leaders disagree? ...”", "1 “Citizens' opinion ...” ... 6 “Religious leaders' opinion should be most decisive for policy-making.”", "% 4–6",
  ps_b01, "B01_e", "“What if citizens and the military disagree? ...”", "1 “Citizens' opinion ...” ... 6 “The military's opinion should be most decisive for policy-making.”", "% 4–6")
pals_qtable(pq_gov_rows)
PALS questions used in this section (exact wording, PALS master questionnaire)
Code Question Response format Cell shows
D06: “There are different opinions about what society’s goals should be for the next ten years. Below are listed some of the goals which different people would give top priority. Please, pick the two that are most important to you.”
D06_a “Maintaining order in the nation.” Selected / not selected (up to two goals) % who picked it
D06_b “Giving people more say in important government decision.” Selected / not selected (up to two goals) % who picked it
D06_c “Fighting rising prices.” Selected / not selected (up to two goals) % who picked it
D06_d “Protecting freedom of speech.” Selected / not selected (up to two goals) % who picked it
B01: “There is often disagreement about what should be taken into consideration in policy-making. For each of the following situations, whose opinion should be most decisive for policy-making according to you?”
B01_a “What if citizens and political leaders disagree? On the scale below, please indicate whose opinion should be most decisive for policy-making according to you.” 1 “Citizens’ opinion should be most decisive for policy-making.” … 6 “Strong political leaders’ opinion should be most decisive for policy-making.” % 4–6
B01_b “What if citizens and elected politicians disagree? …” 1 “Citizens’ opinion …” … 6 “Elected politicians’ opinion should be most decisive for policy-making.” % 4–6
B01_c “What if citizens and established experts disagree? …” 1 “Citizens’ opinion …” … 6 “Established experts’ opinion should be most decisive for policy-making.” % 4–6
B01_d “What if citizens and religious leaders disagree? …” 1 “Citizens’ opinion …” … 6 “Religious leaders’ opinion should be most decisive for policy-making.” % 4–6
B01_e “What if citizens and the military disagree? …” 1 “Citizens’ opinion …” … 6 “The military’s opinion should be most decisive for policy-making.” % 4–6
pals_table(c(D06_a = "Goal: maintaining order (picked)", D06_b = "Goal: more say in government decisions (picked)",
             D06_c = "Goal: fighting rising prices (picked)", D06_d = "Goal: protecting freedom of speech (picked)"),
           caption = "Most important goals")

Most important goals

Goal: maintaining order (picked)

Goal: maintaining order (picked) (%)
Region %
South-eastern Asia 55
Sub-Saharan Africa 50
India 46
Western Europe & Offshoots 43
Western Asia & Northern Africa 40
Latin America & Caribbean 38
Eastern Europe 35
India’s rank among the 24 PALS countries shown: 10 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Goal: more say in government decisions (picked)

Goal: more say in government decisions (picked) (%)
Region %
Eastern Europe 48
Latin America & Caribbean 42
Western Europe & Offshoots 41
South-eastern Asia 40
India 37
Sub-Saharan Africa 37
Western Asia & Northern Africa 32
India’s rank among the 24 PALS countries shown: 17 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Goal: fighting rising prices (picked)

Goal: fighting rising prices (picked) (%)
Region %
Western Asia & Northern Africa 72
Eastern Europe 69
India 67
Sub-Saharan Africa 64
Latin America & Caribbean 59
Western Europe & Offshoots 52
South-eastern Asia 49
India’s rank among the 24 PALS countries shown: 4 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Goal: protecting freedom of speech (picked)

Goal: protecting freedom of speech (picked) (%)
Region %
Western Europe & Offshoots 44
Latin America & Caribbean 42
Sub-Saharan Africa 41
South-eastern Asia 39
Western Asia & Northern Africa 37
Eastern Europe 37
India 30
India’s rank among the 24 PALS countries shown: 21 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.
pals_table(c(B01_a = "Strong political leaders should decide (not citizens)",
             B01_b = "Elected politicians should decide (not citizens)",
             B01_c = "Established experts should decide (not citizens)",
             B01_d = "Religious leaders should decide (not citizens)",
             B01_e = "The military should decide (not citizens)"),
           caption = "Who should decide policy when citizens disagree")

Who should decide policy when citizens disagree

Strong political leaders should decide (not citizens)

Strong political leaders should decide (not citizens) (%)
Region %
South-eastern Asia 41
India 35
Western Europe & Offshoots 31
Sub-Saharan Africa 27
Latin America & Caribbean 22
Eastern Europe 21
Western Asia & Northern Africa 21
India’s rank among the 24 PALS countries shown: 6 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Elected politicians should decide (not citizens)

Elected politicians should decide (not citizens) (%)
Region %
South-eastern Asia 39
India 36
Western Europe & Offshoots 33
Sub-Saharan Africa 25
Latin America & Caribbean 23
Eastern Europe 21
Western Asia & Northern Africa 21
India’s rank among the 24 PALS countries shown: 6 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Established experts should decide (not citizens)

Established experts should decide (not citizens) (%)
Region %
South-eastern Asia 52
Western Europe & Offshoots 50
Latin America & Caribbean 43
India 40
Western Asia & Northern Africa 39
Sub-Saharan Africa 37
Eastern Europe 33
India’s rank among the 24 PALS countries shown: 18 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Religious leaders should decide (not citizens)

Religious leaders should decide (not citizens) (%)
Region %
Sub-Saharan Africa 42
South-eastern Asia 41
India 35
Western Asia & Northern Africa 24
Latin America & Caribbean 18
Western Europe & Offshoots 18
Eastern Europe 12
India’s rank among the 24 PALS countries shown: 5 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

The military should decide (not citizens)

The military should decide (not citizens) (%)
Region %
India 39
South-eastern Asia 35
Western Asia & Northern Africa 35
Sub-Saharan Africa 30
Western Europe & Offshoots 29
Latin America & Caribbean 26
Eastern Europe 23
India’s rank among the 24 PALS countries shown: 3 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

IV.3 Rule of law, tolerance and authoritarian values

What is shown. PALS questions close to the liberal and authoritarian questions of II.2. For rule of law and tolerance, each cell is the % leaning to the right-hand statement (the less liberal side). For the six authoritarianism statements, each cell is the % who agree (4–6); three statements are worded the other way round, so agreeing is the less authoritarian answer (marked “reversed”).

pq_lib_rows <- tribble(
  ~Stem, ~Code, ~Question, ~`Response format`, ~`Cell shows`,
  ps_b02, "B02_a", "“Should the government always obey the laws and court decisions, even if it hinders its work or should the government not be bound at all by laws or court decisions in all instances to be able to work unhindered?”", "1 “The government should always obey the laws and the court decisions, even if it hinders its work.” ... 6 “The government should not be bound at all by laws or court decisions in all instances to be able to work unhindered.”", "% 4–6",
  ps_b02, "B02_b", "“Should laws be enforced equally for everyone in society or can they, under certain circumstances, be enforced differently for different people?”", "1 “Laws should be enforced equally for everyone in society.” ... 6 “Under certain circumstances, laws can be enforced differently for different people.”", "% 4–6",
  ps_b02, "B02_c", "“Should every human have the same basic rights in all countries or should a country's society decide which rights people have in its country?”", "1 “Every human should have the same basic rights in all countries.” ... 6 “A country's society should decide which rights people have in its country.”", "% 4–6",
  ps_b06, "B06", "(scale only)", "1 “Society should accept all people equally.” ... 6 “Society should decide on whom to accept.”", "% 4–6",
  ps_d07, "D07_a", "“It's great that many young people today are prepared to defy authority.” (reversed)", f6_agree, "% agree (4–6)",
  ps_d07, "D07_b", "“What our country needs most is discipline, with everyone following our leaders in unity.”", f6_agree, "% agree (4–6)",
  ps_d07, "D07_c", "“The “old-fashioned ways” and “old-fashioned values” still show the best way to live.”", f6_agree, "% agree (4–6)",
  ps_d07, "D07_d", "“There is nothing wrong with premarital sexual intercourse.” (reversed)", f6_agree, "% agree (4–6)",
  ps_d07, "D07_e", "“Our society does not need tougher government and stricter laws.” (reversed)", f6_agree, "% agree (4–6)",
  ps_d07, "D07_f", "“The facts on crime and the recent public disorders show we have to crack down harder on troublemakers, if we are going to preserve law and order.”", f6_agree, "% agree (4–6)")
pals_qtable(pq_lib_rows)
PALS questions used in this section (exact wording, PALS master questionnaire)
Code Question Response format Cell shows
B02: “There are different opinions on the role of laws in society and to whom they should apply to. Some prefer that rules apply to everyone alike while others claim that this is not reasonable. Where would you place yourself on each of the following scales?”
B02_a “Should the government always obey the laws and court decisions, even if it hinders its work or should the government not be bound at all by laws or court decisions in all instances to be able to work unhindered?” 1 “The government should always obey the laws and the court decisions, even if it hinders its work.” … 6 “The government should not be bound at all by laws or court decisions in all instances to be able to work unhindered.” % 4–6
B02_b “Should laws be enforced equally for everyone in society or can they, under certain circumstances, be enforced differently for different people?” 1 “Laws should be enforced equally for everyone in society.” … 6 “Under certain circumstances, laws can be enforced differently for different people.” % 4–6
B02_c “Should every human have the same basic rights in all countries or should a country’s society decide which rights people have in its country?” 1 “Every human should have the same basic rights in all countries.” … 6 “A country’s society should decide which rights people have in its country.” % 4–6
B06: “People are very different, for example, in terms of gender, religion, age, ethnicity or education, but should this be taken into consideration in the way they are accepted in a society? If everyone is accepted equally, this would mean that people whose behavior and beliefs are different or which are even seen as morally wrong are also accepted. How would you place yourself on the following scale?”
B06 (scale only) 1 “Society should accept all people equally.” … 6 “Society should decide on whom to accept.” % 4–6
D07: “There are different opinions on how society should be organized and how people should act. To what extent do you agree or disagree to each of the following statements?”
D07_a “It’s great that many young people today are prepared to defy authority.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_b “What our country needs most is discipline, with everyone following our leaders in unity.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_c “The “old-fashioned ways” and “old-fashioned values” still show the best way to live.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_d “There is nothing wrong with premarital sexual intercourse.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_e “Our society does not need tougher government and stricter laws.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_f “The facts on crime and the recent public disorders show we have to crack down harder on troublemakers, if we are going to preserve law and order.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
pals_table(c(B02_a = "Government should not be bound by laws and courts",
             B02_b = "Laws can be enforced differently for different people",
             B02_c = "Each society should decide which rights people have",
             B06   = "Society should decide whom to accept"),
           caption = "Rule of law and tolerance")

Rule of law and tolerance

Government should not be bound by laws and courts

Government should not be bound by laws and courts (%)
Region %
India 34
South-eastern Asia 27
Western Asia & Northern Africa 22
Latin America & Caribbean 22
Western Europe & Offshoots 19
Sub-Saharan Africa 19
Eastern Europe 10
India’s rank among the 24 PALS countries shown: 1 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Laws can be enforced differently for different people

Laws can be enforced differently for different people (%)
Region %
India 37
South-eastern Asia 30
Latin America & Caribbean 22
Sub-Saharan Africa 22
Western Europe & Offshoots 21
Western Asia & Northern Africa 16
Eastern Europe 14
India’s rank among the 24 PALS countries shown: 1 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Each society should decide which rights people have

Each society should decide which rights people have (%)
Region %
India 41
Sub-Saharan Africa 40
Eastern Europe 37
South-eastern Asia 32
Western Europe & Offshoots 27
Western Asia & Northern Africa 25
Latin America & Caribbean 21
India’s rank among the 24 PALS countries shown: 3 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Society should decide whom to accept

Society should decide whom to accept (%)
Region %
Sub-Saharan Africa 32
India 29
South-eastern Asia 27
Western Europe & Offshoots 24
Eastern Europe 22
Western Asia & Northern Africa 20
Latin America & Caribbean 16
India’s rank among the 24 PALS countries shown: 6 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.
pals_table(c(D07_a = "Young people defying authority is great (reversed)",
             D07_b = "Discipline, everyone following our leaders in unity",
             D07_c = "Old-fashioned ways and values are best",
             D07_d = "Nothing wrong with premarital sex (reversed)",
             D07_e = "No need for tougher government and stricter laws (reversed)",
             D07_f = "Crack down harder on troublemakers"),
           caption = "Authoritarian values")

Authoritarian values

Young people defying authority is great (reversed)

Young people defying authority is great (reversed) (%)
Region %
Eastern Europe 70
India 70
South-eastern Asia 63
Western Asia & Northern Africa 60
Sub-Saharan Africa 57
Latin America & Caribbean 54
Western Europe & Offshoots 51
India’s rank among the 24 PALS countries shown: 4 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Discipline, everyone following our leaders in unity

Discipline, everyone following our leaders in unity (%)
Region %
Sub-Saharan Africa 78
South-eastern Asia 75
India 73
Western Europe & Offshoots 54
Latin America & Caribbean 52
Western Asia & Northern Africa 52
Eastern Europe 41
India’s rank among the 24 PALS countries shown: 4 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Old-fashioned ways and values are best

Old-fashioned ways and values are best (%)
Region %
India 72
Sub-Saharan Africa 69
South-eastern Asia 62
Western Europe & Offshoots 60
Eastern Europe 60
Western Asia & Northern Africa 56
Latin America & Caribbean 55
India’s rank among the 24 PALS countries shown: 3 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Nothing wrong with premarital sex (reversed)

Nothing wrong with premarital sex (reversed) (%)
Region %
Western Europe & Offshoots 86
Eastern Europe 77
Latin America & Caribbean 71
South-eastern Asia 50
India 43
Sub-Saharan Africa 34
Western Asia & Northern Africa 29
India’s rank among the 24 PALS countries shown: 19 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

No need for tougher government and stricter laws (reversed)

No need for tougher government and stricter laws (reversed) (%)
Region %
India 60
Eastern Europe 59
Western Europe & Offshoots 58
Sub-Saharan Africa 58
South-eastern Asia 56
Western Asia & Northern Africa 52
Latin America & Caribbean 49
India’s rank among the 24 PALS countries shown: 10 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Crack down harder on troublemakers

Crack down harder on troublemakers (%)
Region %
South-eastern Asia 84
Western Asia & Northern Africa 79
India 77
Sub-Saharan Africa 76
Western Europe & Offshoots 76
Latin America & Caribbean 73
Eastern Europe 64
India’s rank among the 24 PALS countries shown: 10 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

IV.4 State support

What is shown. The PALS questions on the role of the state in the economy: whether state ownership should grow, and whether competition between businesses is harmful. Each cell is the % on the 4–6 side. PALS has no question on what the government should provide; its questions on public provision ask what society should provide, which does not separate the state from community, family or charity, so they are not used.

pals_qtable(tribble(
  ~Stem, ~Code, ~Question, ~`Response format`, ~`Cell shows`,
  ps_b03, "B03_a", "“What should be increased: private or state ownership of businesses and industry?”", "1 “Private ownership of businesses and industry should be increased.” ... 6 “State ownership of businesses and industry should be increased.”", "% 4–6 (state)",
  ps_b03, "B03_b", "“Is competition between businesses good or harmful to society?”", "1 “Competition between businesses is good for a society.” ... 6 “Competition between businesses is harmful for a society.”", "% 4–6 (harmful)"))
PALS questions used in this section (exact wording, PALS master questionnaire)
Code Question Response format Cell shows
B03: “Now, we want to know what you think on how the economy should be working and how resources should be distributed. Where would you place yourself on the following scales?”
B03_a “What should be increased: private or state ownership of businesses and industry?” 1 “Private ownership of businesses and industry should be increased.” … 6 “State ownership of businesses and industry should be increased.” % 4–6 (state)
B03_b “Is competition between businesses good or harmful to society?” 1 “Competition between businesses is good for a society.” … 6 “Competition between businesses is harmful for a society.” % 4–6 (harmful)
pals_table(c(B03_a = "State ownership should be increased",
             B03_b = "Competition between businesses is harmful"),
           caption = "State and market")

State and market

State ownership should be increased

State ownership should be increased (%)
Region %
Western Asia & Northern Africa 55
Sub-Saharan Africa 49
India 47
Eastern Europe 46
South-eastern Asia 45
Western Europe & Offshoots 44
Latin America & Caribbean 43
India’s rank among the 24 PALS countries shown: 9 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Competition between businesses is harmful

Competition between businesses is harmful (%)
Region %
India 47
South-eastern Asia 31
Sub-Saharan Africa 27
Western Europe & Offshoots 23
Latin America & Caribbean 22
Western Asia & Northern Africa 22
Eastern Europe 19
India’s rank among the 24 PALS countries shown: 1 (1 = highest).
Cells: % of respondents (weighted, w2). India: its own estimate. Regions: mean of country estimates.

Part V. India across both surveys

This part puts the two surveys side by side. It uses bridge questions: questions asked in both the WVS (Wave 7) and PALS (2022) that measure the same thing, sometimes with identical wording. Each is grouped under the measures used in Part II.

  • Countries: only the 15 countries surveyed in both (Japan and South Korea are left out, as in the rest of the report). India is ranked against the other 14 in each survey, so the two ranks can be compared directly.
  • Ranks, not levels: the surveys use different scales (4- and 10-point in the WVS, 6-point in PALS), so the percentages are not directly comparable across surveys. India’s rank is. Rank 1 = the highest share among the 15 countries.
  • Timing and mode: WVS Wave 7 was fielded in 2017–2023 (India 2023), PALS in 2022. All WVS interviews here are face to face; in PALS India, Nigeria, Peru and Tunisia were face to face and the rest online.
  • Weights: each survey’s own weight within a country (WVS survey weight; PALS w2). Adults only.
shared <- c("India", "Australia", "Brazil", "Chile", "Germany", "Indonesia", "Mexico", "Nigeria", "Peru",
            "Russia", "Singapore", "Tunisia", "Turkey", "United Kingdom", "United States")

# WVS Wave 7: one yes/no per bridge question
wvs7 <- wvs_all |>
  filter(wave == "W7", country_name %in% shared, is.na(age) | age >= 18) |>
  mutate(
    b_prices    = case_when(pm_goals1 == 3 | pm_goals2 == 3 ~ 1, pm_goals1 %in% 1:4 ~ 0),
    b_say       = case_when(pm_goals1 == 2 | pm_goals2 == 2 ~ 1, pm_goals1 %in% 1:4 ~ 0),
    b_speech    = case_when(pm_goals1 == 4 | pm_goals2 == 4 ~ 1, pm_goals1 %in% 1:4 ~ 0),
    b_order     = case_when(pm_goals1 == 1 | pm_goals2 == 1 ~ 1, pm_goals1 %in% 1:4 ~ 0),
    b_strong    = case_when(reg_strongleader %in% 1:2 ~ 1, reg_strongleader %in% 3:4 ~ 0),
    b_experts   = case_when(reg_experts %in% 1:2 ~ 1, reg_experts %in% 3:4 ~ 0),
    b_army      = case_when(reg_army %in% 1:2 ~ 1, reg_army %in% 3:4 ~ 0),
    b_religious = case_when(dess_religious %in% 7:10 ~ 1, dess_religious %in% 1:6 ~ 0),
    b_authority = case_when(fut_authority == 1 ~ 1, fut_authority %in% 2:3 ~ 0),
    b_rulelaw   = case_when(dess_civilrights %in% 7:10 ~ 1, dess_civilrights %in% 1:6 ~ 0),
    b_menjobs   = case_when(jobs_men == 3 ~ 1, jobs_men %in% 1:2 ~ 0),   # disagrees: men first
    b_stateown  = case_when(econ_ownership %in% 6:10 ~ 1, econ_ownership %in% 1:5 ~ 0),
    b_luck      = case_when(econ_hardwork %in% 6:10 ~ 1, econ_hardwork %in% 1:5 ~ 0),
    b_compet    = case_when(econ_competition %in% 6:10 ~ 1, econ_competition %in% 1:5 ~ 0),
    b_immig     = case_when(immig_policy %in% 3:4 ~ 1, immig_policy %in% 1:2 ~ 0),
    b_satis     = case_when(sat_polsystem %in% 6:10 ~ 1, sat_polsystem %in% 1:5 ~ 0),
    b_video     = case_when(surv_video %in% 1:2 ~ 1, surv_video %in% 3:4 ~ 0),
    b_internet  = case_when(surv_email %in% 1:2 ~ 1, surv_email %in% 3:4 ~ 0),
    b_vote      = case_when(vote_national %in% 1:2 ~ 1, vote_national == 3 ~ 0),
    b_saypol    = case_when(dess_elections %in% 7:10 ~ 1, dess_elections %in% 1:6 ~ 0),
    b_fairlaw   = case_when(dess_civilrights %in% 7:10 ~ 1, dess_civilrights %in% 1:6 ~ 0),
    b_womensay  = case_when(dess_women %in% 7:10 ~ 1, dess_women %in% 1:6 ~ 0),
    b_womenlead = case_when(gen_menleaders %in% 3:4 ~ 1, gen_menleaders %in% 1:2 ~ 0),   # disagrees: men better leaders
    b_bigint    = case_when(ei_richbuy %in% 1:2 ~ 1, ei_richbuy %in% 3:4 ~ 0),           # rich buy elections often
    b_offnot    = case_when(conf_govt %in% 3:4 ~ 1, conf_govt %in% 1:2 ~ 0),             # little confidence in government
    b_nationals = case_when(jobs_nationals == 1 ~ 1, jobs_nationals %in% 2:3 ~ 0))

# PALS 2022: the matching yes/no
p_side <- function(x, side) as.numeric(zap_labels(x)) |> (\(v) case_when(v %in% side ~ 1, v %in% 1:6 ~ 0))()
pals5 <- pals |>
  mutate(country_name = recode(country_name, "Türkiye" = "Turkey")) |>
  filter(country_name %in% shared) |>
  mutate(
    b_prices    = as.numeric(zap_labels(D06_c)), b_say = as.numeric(zap_labels(D06_b)),
    b_speech    = as.numeric(zap_labels(D06_d)), b_order = as.numeric(zap_labels(D06_a)),
    across(c(b_prices, b_say, b_speech, b_order), ~ ifelse(.x %in% 0:1, .x, NA)),
    b_strong    = p_side(B01_a, 4:6), b_experts = p_side(B01_c, 4:6), b_army = p_side(B01_e, 4:6),
    b_religious = p_side(B01_d, 4:6), b_authority = p_side(D07_b, 4:6),
    b_rulelaw   = p_side(B02_a, 1:3), b_menjobs = p_side(C05_a, 1:3),
    b_stateown  = p_side(B03_a, 4:6),
    b_luck      = p_side(B03_c, 4:6), b_nationals = p_side(C05_b, 4:6),
    b_compet    = p_side(B03_b, 4:6),
    b_immig     = p_side(C01_d, 4:6),
    b_satis     = p_side(D02_a, 4:6),
    # D09_a is a split-sample experiment: half asked about cameras, half about phone/internet monitoring
    b_video     = ifelse(as.numeric(zap_labels(D09_a1)) == 1, p_side(D09_a, 4:6), NA),
    b_internet  = ifelse(as.numeric(zap_labels(D09_a1)) == 2, p_side(D09_a, 4:6), NA),
    b_vote      = case_when(as.numeric(zap_labels(E01)) == 1 ~ 1, as.numeric(zap_labels(E01)) == 2 ~ 0),
    # A03 items were each shown to a random part of the sample (96 = not shown)
    across(c(A03_a3, A03_c2, A03_b5), ~ ifelse(as.numeric(zap_labels(.x)) %in% 0:1, as.numeric(zap_labels(.x)), NA), .names = "{.col}_01"),
    b_saypol    = A03_a3_01, b_fairlaw = A03_c2_01, b_womensay = A03_b5_01,
    b_womenlead = p_side(C06_a, 4:6),
    b_bigint    = p_side(D03_d, 4:6),
    b_offnot    = p_side(D03_e, 1:3))

bridges <- tribble(
  ~measure, ~var, ~wvs_q, ~pals_q,
  "Governance (delivery)", "b_prices", "Q154–155 “Fighting rising prices” (most important / next most important; picked 1st or 2nd)", "D06_c “Fighting rising prices.” (pick the two most important goals; picked)",
  "Accountability", "b_say", "Q154–155 “Giving people more say in important government decisions” (picked 1st or 2nd)", "D06_b “Giving people more say in important government decision.” (picked)",
  "Accountability", "b_speech", "Q154–155 “Protecting freedom of speech” (picked 1st or 2nd)", "D06_d “Protecting freedom of speech.” (picked)",
  "Accountability", "b_vote", "Q222 “When elections take place, do you vote always, usually or never? ... National level” (always or usually)", "E01 “Did you vote in the last [NATIONALITY] parliamentary election that took place in [MONTH-YEAR OF ELECTION]?” (yes; those eligible)",
  "Accountability: perceived capture", "b_bigint", "Q230 “In your view, how often do the following things occur in this country's elections? ... Rich people buy elections” (very or fairly often)", "D03_d “The government is pretty much run by a few big interests looking out for themselves.” (agree 4–6)",
  "Accountability: perceived capture", "b_offnot", "Q71 confidence in “The government” (not very much or none at all)", "D03_e “Government officials use their power to try to improve people's lives.” (disagree 1–3)",
  "Satisfaction with the political system", "b_satis", "Q252 “How satisfied are you with how the political system is functioning in your country these days?” (6–10)", "D02_a “How satisfied are you with how ... the political system is functioning in [COUNTRY] these days?” (4–6)",
  "Authoritarian side", "b_order", "Q154–155 “Maintaining order in the nation” (picked 1st or 2nd)", "D06_a “Maintaining order in the nation.” (picked)",
  "Authoritarian side", "b_strong", "Q235 “Having a strong leader who does not have to bother with parliament and elections” (very or fairly good)", "B01_a “What if citizens and political leaders disagree? ...” 6 = “Strong political leaders' opinion should be most decisive for policy-making.” (4–6)",
  "Authoritarian side", "b_experts", "Q236 “Having experts, not government, make decisions according to what they think is best for the country” (very or fairly good)", "B01_c “What if citizens and established experts disagree? ...” 6 = “Established experts' opinion should be most decisive ...” (4–6)",
  "Authoritarian side", "b_army", "Q237 “Having the army rule” (very or fairly good)", "B01_e “What if citizens and the military disagree? ...” 6 = “The military's opinion should be most decisive ...” (4–6)",
  "Authoritarian side", "b_religious", "Q242 Essential to democracy: “Religious authorities ultimately interpret the laws.” (7–10)", "B01_d “What if citizens and religious leaders disagree? ...” 6 = “Religious leaders' opinion should be most decisive ...” (4–6)",
  "Authoritarian side", "b_authority", "Q45 Change in the near future: “Greater respect for authority” (good thing)", "D07_b “What our country needs most is discipline, with everyone following our leaders in unity.” (agree 4–6)",
  "Security over freedom", "b_video", "Q196 Government should have the right to: “Keep people under video surveillance in public areas” (definitely or probably should)", "D09_a anti-terror vignette, version 1: the government plans to “increase monitoring of public places with cameras” — “Would you consider the government's measure as acceptable or not?” (4–6)",
  "Security over freedom", "b_internet", "Q197 Government should have the right to: “Monitor all e-mails and any other information exchanged on the Internet” (definitely or probably should)", "D09_a anti-terror vignette, version 2: the government plans to “monitor the telephone calls and Internet activities of everyone without judicial warrant” (acceptable, 4–6)",
  "Liberal side", "b_saypol", "Q243 Essential to democracy: “People choose their leaders in free elections.” (7–10)", "A03_a3 Necessary to live freely: “Having a say in political decisions” (picked)",
  "Liberal side", "b_fairlaw", "Q246 Essential to democracy: “Civil rights protect people from state oppression.” (7–10)", "A03_c2 Necessary to live freely: “Living in a country with a fair legal system” (picked; part of the sample)",
  "Liberal side", "b_womensay", "Q249 Essential to democracy: “Women have the same rights as men.” (7–10)", "A03_b5 Necessary to live freely: “More say for women in society” (picked; part of the sample)",
  "Liberal side", "b_womenlead", "Q29 “On the whole, men make better political leaders than women do” (disagree)", "C06_a “Women should be preferred over men until an equal representation is achieved.” (agree 4–6)",
  "Liberal side", "b_rulelaw", "Q246 Essential to democracy: “Civil rights protect people from state oppression.” (7–10)", "B02_a 1 = “The government should always obey the laws and the court decisions, even if it hinders its work.” (1–3)",
  "Liberal side", "b_menjobs", "Q33 “When jobs are scarce, men should have more right to a job than women” (disagree)", "C05_a “When jobs are scarce, men should be preferred over women.” (disagree 1–3)",
  "State support", "b_stateown", "Q107 “Private ownership of business and industry should be increased” ... “Government ownership of business and industry should be increased” (6–10)", "B03_a “What should be increased: private or state ownership of businesses and industry?” (state side, 4–6)",
  "State support", "b_compet", "Q109 “Competition is good” ... “Competition is harmful” (6–10)", "B03_b “Is competition between businesses good or harmful to society?” (harmful side, 4–6)",
  "Inequality: exclusion", "b_luck", "Q110 “In the long run, hard work usually brings a better life” ... “Hard work doesn't generally bring success — it's more a matter of luck and connections” (6–10)", "B03_c “What should a person's wealth and status be based on: always on talents and efforts or always on ancestry and contacts?” (ancestry side, 4–6)",
  "Inequality: exclusion", "b_immig", "Q130 “How about people from other countries coming here to work. Which one of the following do you think the government should do?” (place strict limits / prohibit)", "C01_d “My country should have the right to reject immigrants who want to live in my country.” (agree 4–6)",
  "Inequality: exclusion", "b_nationals", "Q34 “When jobs are scarce, employers should give priority to people of this country over immigrants” (agree)", "C05_b “When jobs are scarce, [COUNTRY CITIZENS] should be preferred over migrants living already a long time in my country.” (agree 4–6)")

# country % for each bridge question, in each survey
bridge_est <- function(d, wcol) {
  imap_dfr(setNames(bridges$var, bridges$var), function(v, nm) {
    d |>
      filter(!is.na(.data[[v]])) |>
      group_by(country_name) |>
      summarise(est = 100 * weighted.mean(.data[[v]], .data[[wcol]]), .groups = "drop") |>
      mutate(var = v)
  })
}
b_wvs  <- bridge_est(wvs7, "weight") |> mutate(survey = "WVS")
b_pals <- bridge_est(pals5, "w2") |> mutate(survey = "PALS")
b_all  <- bind_rows(b_wvs, b_pals) |>
  group_by(survey, var) |>
  mutate(rank = rank(-est, ties.method = "min"), N = n()) |>
  ungroup()

# ---- full-scale versions and bridge correlations (used in Parts V and VI) ----
pf <- function(x, rev = FALSE) {           # PALS 1-6, drop "prefer not to say" / "don't know"
  v <- as.numeric(zap_labels(x)); v[!v %in% 1:6] <- NA
  if (rev) 7 - v else v
}
p01 <- function(x) { v <- as.numeric(zap_labels(x)); ifelse(v %in% 0:1, v, NA) }

wvs_full <- wvs7 |>
  transmute(country_name, w = weight,
    b_prices = b_prices, b_say = b_say, b_speech = b_speech, b_order = b_order,
    b_vote = 4 - vote_national, b_satis = sat_polsystem,
    b_bigint = 5 - ei_richbuy, b_offnot = conf_govt,
    b_strong = 5 - reg_strongleader, b_experts = 5 - reg_experts, b_army = 5 - reg_army,
    b_religious = dess_religious, b_authority = 4 - fut_authority,
    b_video = 5 - surv_video, b_internet = 5 - surv_email,
    b_saypol = dess_elections, b_fairlaw = dess_civilrights, b_womensay = dess_women,
    b_womenlead = gen_menleaders, b_rulelaw = dess_civilrights, b_menjobs = jobs_men,
    b_stateown = econ_ownership, b_compet = econ_competition,
    b_luck = econ_hardwork, b_immig = immig_policy, b_nationals = 4 - jobs_nationals)

pals_full <- pals5 |>
  transmute(country_name, w = w2,
    b_prices = b_prices, b_say = b_say, b_speech = b_speech, b_order = b_order,
    b_vote = b_vote, b_satis = pf(D02_a),
    b_bigint = pf(D03_d), b_offnot = pf(D03_e, rev = TRUE),
    b_strong = pf(B01_a), b_experts = pf(B01_c), b_army = pf(B01_e),
    b_religious = pf(B01_d), b_authority = pf(D07_b),
    b_video = ifelse(as.numeric(zap_labels(D09_a1)) == 1, pf(D09_a), NA),
    b_internet = ifelse(as.numeric(zap_labels(D09_a1)) == 2, pf(D09_a), NA),
    b_saypol = p01(A03_a3), b_fairlaw = p01(A03_c2), b_womensay = p01(A03_b5),
    b_womenlead = pf(C06_a), b_rulelaw = pf(B02_a, rev = TRUE), b_menjobs = pf(C05_a, rev = TRUE),
    b_stateown = pf(B03_a), b_compet = pf(B03_b),
    b_luck = pf(B03_c), b_immig = pf(C01_d), b_nationals = pf(C05_b))

wmean <- function(x, w) { ok <- !is.na(x) & !is.na(w); sum(x[ok] * w[ok]) / sum(w[ok]) }
wvar  <- function(x, w) { ok <- !is.na(x) & !is.na(w); m <- wmean(x, w); sum(w[ok] * (x[ok] - m)^2) / sum(w[ok]) }

dist_stats <- function(d, survey) {
  map_dfr(bridges$var, function(v) {
    x <- d |> select(country_name, w, val = all_of(v)) |> filter(!is.na(val))
    cm <- x |> group_by(country_name) |> summarise(m = wmean(val, w), .groups = "drop")
    if (!"India" %in% cm$country_name) return(NULL)
    oth <- cm |> filter(country_name != "India")
    ind <- cm$m[cm$country_name == "India"]
    # individual level: India vs the other countries, each country counting equally
    xi <- x |> filter(country_name == "India")
    xo <- x |> filter(country_name != "India") |> group_by(country_name) |> mutate(w = w / sum(w)) |> ungroup()
    dd <- (wmean(xi$val, xi$w) - wmean(xo$val, xo$w)) / sqrt((wvar(xi$val, xi$w) + wvar(xo$val, xo$w)) / 2)
    tibble(var = v, survey = survey,
           rank = rank(-cm$m, ties.method = "min")[cm$country_name == "India"], N = nrow(cm),
           z = (ind - mean(oth$m)) / sd(oth$m), d = dd)
  })
}
country_means <- function(d) {
  d |> pivot_longer(-c(country_name, w), names_to = "var", values_to = "val") |>
    filter(!is.na(val)) |> group_by(var, country_name) |>
    summarise(m = wmean(val, w), .groups = "drop")
}
cm_wvs  <- country_means(wvs_full)
cm_pals <- country_means(pals_full)
dist <- bind_rows(dist_stats(wvs_full, "WVS"), dist_stats(pals_full, "PALS"))
rho <- inner_join(cm_wvs, cm_pals, by = c("var", "country_name"), suffix = c("_w", "_p")) |>
  group_by(var) |>
  summarise(rho = cor(m_w, m_p, method = "spearman"), n = n(), .groups = "drop")
short <- c(b_prices = "Fighting rising prices (aim)", b_say = "More say in government (aim)",
           b_speech = "Free speech (aim)", b_vote = "Voting", b_bigint = "Rich buy elections / big interests run government",
           b_offnot = "Little confidence in government / officials don't help", b_satis = "Satisfied with the political system",
           b_order = "Maintaining order (aim)", b_strong = "Strong leader", b_experts = "Experts", b_army = "Army / military",
           b_religious = "Religious authority", b_authority = "Respect for authority / discipline",
           b_video = "Video / camera surveillance", b_internet = "Internet / phone monitoring",
           b_saypol = "Free elections / say in politics", b_fairlaw = "Civil rights / fair legal system",
           b_womensay = "Women's equal rights / more say for women", b_womenlead = "Women as leaders",
           b_rulelaw = "Civil rights / government bound by courts", b_menjobs = "Rejects men first for jobs",
           b_stateown = "State ownership", b_compet = "Competition is harmful",
           b_luck = "Luck and connections / ancestry", b_immig = "Restrict / reject immigrants", b_nationals = "Nationals first for jobs")
bridge_strength <- function(r) case_when(r >= 0.6 ~ "Strong", r >= 0.4 ~ "Moderate", TRUE ~ "—")

V.1 The 15 countries

wvs7 |>
  group_by(country_name) |>
  summarise(`WVS year` = paste(sort(unique(survey_year)), collapse = "/"), `WVS respondents` = n(), .groups = "drop") |>
  left_join(pals5 |> count(country_name, name = "PALS respondents"), by = "country_name") |>
  mutate(`PALS mode` = ifelse(country_name %in% pals_capi, "face to face", "online"),
         Region = unname(pals_region_of[recode(country_name, "Turkey" = "Türkiye", "Russia" = "Russian Federation",
                                                "United Kingdom" = "United Kingdom of Great Britain and Northern Ireland",
                                                "United States" = "United States of America")])) |>
  arrange(factor(Region, wb_regions), country_name) |>
  select(Country = country_name, Region, `WVS year`, `WVS respondents`, `PALS respondents`, `PALS mode`) |>
  kable(caption = "Countries in both surveys (adults)", format.args = list(big.mark = ",")) |>
  styled()
Countries in both surveys (adults)
Country Region WVS year WVS respondents PALS respondents PALS mode
India India 2023 1,371 2,822 face to face
Indonesia South-eastern Asia 2018 3,200 2,001 online
Singapore South-eastern Asia 2020 2,012 2,010 online
Tunisia Western Asia & Northern Africa 2019 1,208 2,012 face to face
Turkey Western Asia & Northern Africa 2018 2,415 2,016 online
Nigeria Sub-Saharan Africa 2018 1,237 2,000 face to face
Brazil Latin America & Caribbean 2018 1,698 2,110 online
Chile Latin America & Caribbean 2018 1,000 2,005 online
Mexico Latin America & Caribbean 2018 1,741 2,160 online
Peru Latin America & Caribbean 2018 1,400 2,018 face to face
Russia Eastern Europe 2017 1,810 2,143 online
Australia Western Europe & Offshoots 2018 1,811 2,032 online
Germany Western Europe & Offshoots 2018 1,528 2,020 online
United Kingdom Western Europe & Offshoots 2022 2,609 2,007 online
United States Western Europe & Offshoots 2017 2,596 2,033 online

V.2 Bridge questions: India’s rank in each survey

What is shown. For each pair of questions: the share of Indians giving the answer described, and India’s rank among the 15 countries (1 = highest share), in WVS 2023 and in PALS 2022. Where the ranks are close, the two surveys agree about where India stands.

india_b <- b_all |> filter(country_name == "India") |>
  mutate(cell_pct = sprintf("%.0f", est), cell_rank = sprintf("%d of %d", rank, N)) |>
  select(var, survey, cell_pct, cell_rank) |>
  pivot_wider(names_from = survey, values_from = c(cell_pct, cell_rank))
bt <- bridges |>
  left_join(india_b, by = "var") |>
  left_join(rho, by = "var") |>
  mutate(strength = bridge_strength(rho)) |>
  select(measure, `WVS 2023 question` = wvs_q, `India %` = cell_pct_WVS, `India's rank` = cell_rank_WVS,
         `PALS 2022 question` = pals_q, `India % ` = cell_pct_PALS, `India's rank ` = cell_rank_PALS,
         `Bridge strength` = strength)
bt |>
  select(-measure) |>
  kable(caption = "Bridge questions: India's share and rank among the 15 countries", align = c("l", "c", "c", "l", "c", "c", "c")) |>
  styled() |>
  add_header_above(c("WVS Wave 7 (India 2023)" = 3, "PALS (2022)" = 3, " " = 1)) |>
  pack_rows(index = table(factor(bt$measure, unique(bt$measure)))) |>
  column_spec(c(1, 4), width = "19em") |>
  footnote(general = c("Rank 1 = highest share among the 15 countries in both surveys. Percentages are not comparable across the two surveys (different scales); ranks are.",
                       "Bridge strength: how similarly the two questions order the 15 countries (Spearman ρ, Part VI). Strong: 0.6 or more; Moderate: 0.4 to 0.6; —: below 0.4, not established as measuring the same thing."),
           general_title = "")
Bridge questions: India’s share and rank among the 15 countries
WVS Wave 7 (India 2023)
PALS (2022)
WVS 2023 question India % India’s rank PALS 2022 question India % India’s rank Bridge strength
Governance (delivery)
Q154–155 “Fighting rising prices” (most important / next most important; picked 1st or 2nd) 65 5 of 15 D06_c “Fighting rising prices.” (pick the two most important goals; picked) 67 3 of 15 Strong
Accountability
Q154–155 “Giving people more say in important government decisions” (picked 1st or 2nd) 41 13 of 15 D06_b “Giving people more say in important government decision.” (picked) 37 12 of 15 —
Q154–155 “Protecting freedom of speech” (picked 1st or 2nd) 18 13 of 15 D06_d “Protecting freedom of speech.” (picked) 30 12 of 15 Moderate
Q222 “When elections take place, do you vote always, usually or never? … National level” (always or usually) 94 6 of 15 E01 “Did you vote in the last [NATIONALITY] parliamentary election that took place in [MONTH-YEAR OF ELECTION]?” (yes; those eligible) 88 7 of 15 Strong
Accountability: perceived capture
Q230 “In your view, how often do the following things occur in this country’s elections? … Rich people buy elections” (very or fairly often) 76 3 of 15 D03_d “The government is pretty much run by a few big interests looking out for themselves.” (agree 4–6) 76 7 of 15 —
Q71 confidence in “The government” (not very much or none at all) 35 12 of 15 D03_e “Government officials use their power to try to improve people’s lives.” (disagree 1–3) 29 15 of 15 Moderate
Satisfaction with the political system
Q252 “How satisfied are you with how the political system is functioning in your country these days?” (6–10) 66 3 of 15 D02_a “How satisfied are you with how … the political system is functioning in [COUNTRY] these days?” (4–6) 72 1 of 15 Strong
Authoritarian side
Q154–155 “Maintaining order in the nation” (picked 1st or 2nd) 60 7 of 15 D06_a “Maintaining order in the nation.” (picked) 46 6 of 15 Moderate
Q235 “Having a strong leader who does not have to bother with parliament and elections” (very or fairly good) 69 3 of 15 B01_a “What if citizens and political leaders disagree? …” 6 = “Strong political leaders’ opinion should be most decisive for policy-making.” (4–6) 35 6 of 15 —
Q236 “Having experts, not government, make decisions according to what they think is best for the country” (very or fairly good) 73 3 of 15 B01_c “What if citizens and established experts disagree? …” 6 = “Established experts’ opinion should be most decisive …” (4–6) 40 12 of 15 —
Q237 “Having the army rule” (very or fairly good) 39 5 of 14 B01_e “What if citizens and the military disagree? …” 6 = “The military’s opinion should be most decisive …” (4–6) 39 3 of 15 —
Q242 Essential to democracy: “Religious authorities ultimately interpret the laws.” (7–10) 33 2 of 15 B01_d “What if citizens and religious leaders disagree? …” 6 = “Religious leaders’ opinion should be most decisive …” (4–6) 35 3 of 15 —
Q45 Change in the near future: “Greater respect for authority” (good thing) 50 12 of 15 D07_b “What our country needs most is discipline, with everyone following our leaders in unity.” (agree 4–6) 73 2 of 15 —
Security over freedom
Q196 Government should have the right to: “Keep people under video surveillance in public areas” (definitely or probably should) 84 1 of 15 D09_a anti-terror vignette, version 1: the government plans to “increase monitoring of public places with cameras” — “Would you consider the government’s measure as acceptable or not?” (4–6) 82 2 of 15 —
Q197 Government should have the right to: “Monitor all e-mails and any other information exchanged on the Internet” (definitely or probably should) 60 2 of 15 D09_a anti-terror vignette, version 2: the government plans to “monitor the telephone calls and Internet activities of everyone without judicial warrant” (acceptable, 4–6) 72 1 of 15 Strong
Liberal side
Q243 Essential to democracy: “People choose their leaders in free elections.” (7–10) 79 5 of 15 A03_a3 Necessary to live freely: “Having a say in political decisions” (picked) 40 13 of 15 —
Q246 Essential to democracy: “Civil rights protect people from state oppression.” (7–10) 73 4 of 15 A03_c2 Necessary to live freely: “Living in a country with a fair legal system” (picked; part of the sample) 45 14 of 15 —
Q249 Essential to democracy: “Women have the same rights as men.” (7–10) 77 8 of 15 A03_b5 Necessary to live freely: “More say for women in society” (picked; part of the sample) 47 4 of 15 —
Q29 “On the whole, men make better political leaders than women do” (disagree) 45 11 of 15 C06_a “Women should be preferred over men until an equal representation is achieved.” (agree 4–6) 74 1 of 15 —
Q246 Essential to democracy: “Civil rights protect people from state oppression.” (7–10) 73 4 of 15 B02_a 1 = “The government should always obey the laws and the court decisions, even if it hinders its work.” (1–3) 66 15 of 15 —
Q33 “When jobs are scarce, men should have more right to a job than women” (disagree) 30 11 of 15 C05_a “When jobs are scarce, men should be preferred over women.” (disagree 1–3) 33 15 of 15 Strong
State support
Q107 “Private ownership of business and industry should be increased” … “Government ownership of business and industry should be increased” (6–10) 63 4 of 15 B03_a “What should be increased: private or state ownership of businesses and industry?” (state side, 4–6) 47 7 of 15 Moderate
Q109 “Competition is good” … “Competition is harmful” (6–10) 45 1 of 15 B03_b “Is competition between businesses good or harmful to society?” (harmful side, 4–6) 47 1 of 15 Moderate
Inequality: exclusion
Q110 “In the long run, hard work usually brings a better life” … “Hard work doesn’t generally bring success — it’s more a matter of luck and connections” (6–10) 42 3 of 15 B03_c “What should a person’s wealth and status be based on: always on talents and efforts or always on ancestry and contacts?” (ancestry side, 4–6) 32 1 of 15 —
Q130 “How about people from other countries coming here to work. Which one of the following do you think the government should do?” (place strict limits / prohibit) 48 8 of 15 C01_d “My country should have the right to reject immigrants who want to live in my country.” (agree 4–6) 76 4 of 15 —
Q34 “When jobs are scarce, employers should give priority to people of this country over immigrants” (agree) 74 7 of 15 C05_b “When jobs are scarce, [COUNTRY CITIZENS] should be preferred over migrants living already a long time in my country.” (agree 4–6) 69 5 of 15 Strong
Rank 1 = highest share among the 15 countries in both surveys. Percentages are not comparable across the two surveys (different scales); ranks are.
Bridge strength: how similarly the two questions order the 15 countries (Spearman ρ, Part VI). Strong: 0.6 or more; Moderate: 0.4 to 0.6; —: below 0.4, not established as measuring the same thing.

V.3 Summary by measure

What is shown. For each measure, India’s average rank across its bridge questions, in each survey (1 = highest among the 15 countries; 8 = middle; 15 = lowest).

b_all |>
  filter(country_name == "India") |>
  left_join(select(bridges, var, measure), by = "var") |>
  group_by(measure, survey) |>
  summarise(r = mean(rank), k = n(), .groups = "drop") |>
  mutate(r = sprintf("%.1f", r)) |>
  pivot_wider(names_from = survey, values_from = r) |>
  mutate(measure = factor(measure, unique(bridges$measure))) |>
  arrange(measure) |>
  select(Measure = measure, `Bridge questions` = k, `India's average rank, WVS 2023` = WVS,
         `India's average rank, PALS 2022` = PALS) |>
  kable(caption = "India's average rank among the 15 countries, by measure", align = c("l", "c", "c", "c")) |>
  styled()
India’s average rank among the 15 countries, by measure
Measure Bridge questions India’s average rank, WVS 2023 India’s average rank, PALS 2022
Governance (delivery) 1 5.0 3.0
Accountability 3 10.7 10.3
Accountability: perceived capture 2 7.5 11.0
Satisfaction with the political system 1 3.0 1.0
Authoritarian side 6 5.3 5.3
Security over freedom 2 1.5 1.5
Liberal side 6 7.2 10.3
State support 2 2.5 4.0
Inequality: exclusion 3 6.0 3.3

V.4 India’s nearest countries

What is shown. For each measure, the three countries whose answers are closest to India’s across all of that measure’s bridge questions together (the smallest average gap in percentage points), in each survey.

nearest <- b_all |>
  left_join(select(bridges, var, measure), by = "var") |>
  group_by(survey, measure, var) |>
  mutate(india = est[country_name == "India"]) |>
  ungroup() |>
  filter(country_name != "India") |>
  group_by(survey, measure, country_name) |>
  summarise(gap = mean(abs(est - india)), .groups = "drop") |>
  group_by(survey, measure) |>
  slice_min(gap, n = 3, with_ties = FALSE) |>
  summarise(cell = paste0(country_name, " (", sprintf("%.0f", gap), ")", collapse = ", "), .groups = "drop") |>
  pivot_wider(names_from = survey, values_from = cell) |>
  mutate(measure = factor(measure, unique(bridges$measure))) |>
  arrange(measure)
nearest |>
  select(Measure = measure, `Nearest in WVS 2023` = WVS, `Nearest in PALS 2022` = PALS) |>
  kable(caption = "India's three nearest countries by measure (average gap in percentage points)") |>
  styled() |>
  footnote(general = "Gap: average absolute difference from India across the measure's bridge questions, within each survey.",
           general_title = "")
India’s three nearest countries by measure (average gap in percentage points)
Measure Nearest in WVS 2023 Nearest in PALS 2022
Governance (delivery) Turkey (0), United Kingdom (2), Brazil (6) Nigeria (2), Singapore (2), Peru (4)
Accountability Singapore (6), Russia (7), Peru (7) Peru (4), Chile (5), Singapore (5)
Accountability: perceived capture Nigeria (16), Indonesia (19), Russia (21) Indonesia (2), Australia (7), Singapore (7)
Satisfaction with the political system Germany (3), Turkey (5), Indonesia (6) Singapore (8), Germany (17), Indonesia (17)
Authoritarian side Mexico (7), Peru (9), Brazil (10) Nigeria (5), United States (6), Singapore (7)
Security over freedom Indonesia (8), Nigeria (11), Australia (16) Indonesia (6), Nigeria (7), United Kingdom (8)
Liberal side Russia (2), Indonesia (8), Turkey (8) Nigeria (13), Indonesia (14), United Kingdom (19)
State support Turkey (5), Indonesia (8), Russia (9) Indonesia (8), Chile (11), Turkey (11)
Inequality: exclusion Nigeria (4), Brazil (5), Russia (9) Singapore (6), Indonesia (7), United Kingdom (8)
Gap: average absolute difference from India across the measure’s bridge questions, within each survey.

What this part shows.

  • On most measures the two surveys place India in the same position.
    • Accountability: near the bottom in both: 13th (WVS) and 12th (PALS) of 15 on choosing more say in government or free speech as a top aim.
    • Authoritarian side: in the top third in both (average rank 5.3 in each). India is 3rd and 6th on the strong leader, 5th and 3rd on the army, 2nd and 3rd on religious authority.
    • Governance (delivery): fighting rising prices is a top aim more often than in most countries (5th and 3rd).
    • Inequality, exclusion: India ranks high in both: success through luck and connections (3rd) or ancestry and contacts (1st), and jobs for nationals first (7th and 5th).
  • Security over freedom: India is at the very top in both surveys. It is 1st on giving the government the right to video surveillance (84%) and 2nd on monitoring e-mails and the internet (60%) in the WVS; in PALS it is 2nd on more cameras in public places (82%) and 1st on monitoring everyone’s phone calls and internet activity without a warrant (72%).
  • Satisfaction with the political system is among the highest: 3rd in the WVS and 1st in PALS.
  • The identical competition question gives the same answer: India is 1st in both on “competition is harmful” (45% and 47%).
  • Immigration: 8th in the WVS on wanting strict limits or a ban (48%), 4th in PALS on the country’s right to reject immigrants (76%). Voting: high turnout but mid-table (6th and 7th), since most of the 15 countries also report high turnout.
  • Accountability, perceived capture: Indians see elections as bought but trust the government. India is 3rd on “rich people buy elections” (76%) and 7th in PALS on “government run by a few big interests” (76%). Yet few Indians lack confidence in the government (12th) or deny that officials try to improve people’s lives (15th, last).
  • Liberal side, what democracy needs vs what freedom needs: in the WVS India ranks high on free elections (5th) and civil rights (4th) as essentials of democracy, but in PALS few Indians name a say in politics (13th) or a fair legal system (14th) as necessary for their own freedom. On women the pattern reverses: India is mid-table on women’s equal rights (8th) and rejecting “men are better leaders” (11th) in the WVS, but 4th on more say for women and 1st on preferring women for leadership in PALS.
  • The liberal side is where the surveys differ. In the WVS India is 4th on rating civil rights as essential to democracy; in PALS it is last (15th) on whether government must obey the laws and courts. Rejecting “men first for scarce jobs” puts India 11th (WVS) and 15th (PALS). The WVS asks about democracy in the abstract; PALS asks about concrete trade-offs, where India ranks least liberal of all 15 countries.
  • Two pairs diverge because the questions differ: experts (3rd in WVS on “experts deciding is good”, 12th in PALS on “experts, not citizens, should decide”) and authority (12th on “more respect for authority”, 2nd on “discipline, following our leaders”).
  • India’s nearest countries are mostly Nigeria, Turkey, Peru, Singapore, Indonesia and Russia, depending on the measure; Western countries appear only on single measures. There is no fixed peer group.
  • How strong each pair is, and how far India is from the others, is measured in Part VI.
  • Caution: most WVS surveys here date from 2017–2020, India’s from 2023 and PALS from 2022, and PALS interviewed most countries online. Ranks are robust to the different scales, but not to these differences.

Part VI. How far is India from the others?

Part V places India by rank on each bridge question. A rank says where India stands, but not how far it is from the others. This part measures that distance, using each question’s full scale (for example the whole 1–10 or 1–6 scale) rather than the share above a cut-off. Each question is turned round where needed so that a higher value always means the same thing as in Part V (for example, more support for a strong leader, or more acceptance of surveillance).

  • Rank: India’s position among the 15 countries on the full-scale mean (1 = highest).
  • z-score: how far India’s mean is from the average of the other 14 countries, in units of their spread (standard deviation). About 0 = typical; +1 or −1 = clearly above or below; beyond ±2 = an outlier among these countries.
  • Effect size (d): the difference between Indian respondents and the respondents of the other 14 countries (each country counting equally), divided by the spread among individuals. Conventional reading: 0.2 small, 0.5 medium, 0.8 large.
  • Bridge correlation (ρ): the rank correlation between the WVS and PALS country means across the 15 countries. Each survey’s questions are ordered separately, so different wording and scales do not matter: the test is whether the two questions put the countries in the same order. Strong: 0.6 or more; Moderate: 0.4 to 0.6; —: below 0.4, not established (with 15 countries, values below about 0.5 cannot be told apart from zero). A weak pair can reflect different attitudes, real change between the survey dates, or differences in mode.
  • All figures are within each survey, weighted with each survey’s own weight. Questions asked as a pick from a list (the aims, “necessary to live freely”, the rich-poor gap, voting) have no longer scale, so their full scale is the yes/no answer itself.

How to use them together. Rank shows where India stands; z shows how far it stands from the other countries; d shows how much Indians differ as people. z is usually larger than d, because country averages bunch together while individuals differ a lot within every country.

Pattern Meaning
High z, high d India is genuinely distinctive, as a country and in its people
High z, modest d India stands out among countries, but individuals overlap a lot
Low z, low d India is typical; its rank may rest on small gaps

VI.1 India’s distance on each bridge question

What is shown. For each pair: India’s rank, z-score and effect size (d) in each survey, and the correlation (ρ) between the two surveys’ country means. Positive z and d mean India is above the other countries, in the direction described in Part V.

dt <- dist |>
  mutate(cell_r = sprintf("%d of %d", rank, N), cell_z = sprintf("%+.1f", z), cell_d = sprintf("%+.2f", d)) |>
  select(var, survey, cell_r, cell_z, cell_d) |>
  pivot_wider(names_from = survey, values_from = c(cell_r, cell_z, cell_d)) |>
  left_join(rho, by = "var") |>
  right_join(select(bridges, measure, var), by = "var") |>
  mutate(Question = short[var], strength = bridge_strength(rho), rho = sprintf("%.2f", rho)) |>
  select(measure, Question, cell_r_WVS, cell_z_WVS, cell_d_WVS, cell_r_PALS, cell_z_PALS, cell_d_PALS, rho, strength)
dt |>
  select(-measure) |>
  kable(col.names = c("Question pair", "Rank", "z", "d", "Rank", "z", "d", "ρ", "Strength"),
        caption = "India on each bridge question: rank, z-score and effect size (d), and bridge correlation (ρ)",
        align = c("l", rep("c", 8))) |>
  styled() |>
  add_header_above(c(" " = 1, "WVS Wave 7 (India 2023)" = 3, "PALS (2022)" = 3, "Bridge" = 2)) |>
  pack_rows(index = table(factor(dt$measure, unique(dt$measure)))) |>
  column_spec(1, width = "18em") |>
  footnote(general = c("z: India vs the other 14 countries, in standard deviations of their country means. d: Indian respondents vs respondents of the other 14 countries (each country weighted equally), in individual standard deviations.",
                       "ρ: Spearman rank correlation between WVS and PALS country means across the 15 countries."),
           general_title = "")
India on each bridge question: rank, z-score and effect size (d), and bridge correlation (ρ)
WVS Wave 7 (India 2023)
PALS (2022)
Bridge
Question pair Rank z d Rank z d ρ Strength
Governance (delivery)
Fighting rising prices (aim) 5 of 15 +0.7 +0.24 3 of 15 +0.7 +0.18 0.64 Strong
Accountability
More say in government (aim) 13 of 15 -1.1 -0.20 12 of 15 -0.5 -0.06 0.20 —
Free speech (aim) 13 of 15 -1.0 -0.36 12 of 15 -1.1 -0.22 0.50 Moderate
Voting 8 of 15 +0.4 +0.16 7 of 15 +0.5 +0.18 0.81 Strong
Accountability: perceived capture
Rich buy elections / big interests run government 3 of 15 +1.0 +0.60 9 of 15 -0.1 -0.03 0.32 —
Little confidence in government / officials don’t help 12 of 15 -1.1 -0.56 14 of 15 -1.7 -0.65 0.57 Moderate
Satisfaction with the political system
Satisfied with the political system 3 of 15 +1.0 +0.46 1 of 15 +2.3 +0.89 0.79 Strong
Authoritarian side
Maintaining order (aim) 7 of 15 +0.1 +0.02 6 of 15 +0.3 +0.05 0.46 Moderate
Strong leader 1 of 15 +1.6 +0.56 7 of 15 +0.3 +0.06 -0.42 —
Experts 3 of 15 +1.4 +0.37 12 of 15 -0.9 -0.13 -0.15 —
Army / military 5 of 14 +0.6 +0.25 4 of 15 +1.1 +0.17 -0.04 —
Religious authority 3 of 15 +0.8 +0.32 4 of 15 +0.7 +0.18 0.37 —
Respect for authority / discipline 12 of 15 -0.8 -0.21 3 of 15 +1.0 +0.29 -0.34 —
Security over freedom
Video / camera surveillance 1 of 15 +2.3 +0.71 2 of 15 +1.6 +0.19 0.09 —
Internet / phone monitoring 2 of 15 +2.1 +0.65 1 of 15 +2.0 +0.59 0.74 Strong
Liberal side
Free elections / say in politics 8 of 15 +0.1 +0.02 13 of 15 -0.9 -0.19 -0.11 —
Civil rights / fair legal system 9 of 15 +0.2 +0.05 14 of 15 -2.0 -0.49 0.05 —
Women’s equal rights / more say for women 7 of 15 +0.3 +0.09 4 of 15 +0.7 +0.18 0.01 —
Women as leaders 11 of 15 -0.7 -0.34 1 of 15 +3.0 +0.69 -0.31 —
Civil rights / government bound by courts 9 of 15 +0.2 +0.05 14 of 15 -1.9 -0.33 0.24 —
Rejects men first for jobs 12 of 15 -1.0 -0.52 15 of 15 -2.4 -0.89 0.63 Strong
State support
State ownership 5 of 15 +0.9 +0.27 7 of 15 -0.0 -0.00 0.57 Moderate
Competition is harmful 1 of 15 +2.3 +0.45 1 of 15 +3.6 +0.58 0.45 Moderate
Inequality: exclusion
Luck and connections / ancestry 5 of 15 +0.4 +0.07 1 of 15 +1.7 +0.35 -0.12 —
Restrict / reject immigrants 7 of 15 -0.2 -0.06 7 of 15 +0.5 +0.21 0.35 —
Nationals first for jobs 7 of 15 +0.5 +0.21 5 of 15 +0.3 +0.10 0.66 Strong
z: India vs the other 14 countries, in standard deviations of their country means. d: Indian respondents vs respondents of the other 14 countries (each country weighted equally), in individual standard deviations.
ρ: Spearman rank correlation between WVS and PALS country means across the 15 countries.

Examples from the report.

Question z d What it means
Video surveillance (WVS) +2.3 +0.71 Outlier as a country and a medium-to-large difference between people: about 76% of Indians are more accepting than the average person elsewhere
Satisfaction with the political system (PALS) +2.3 +0.89 Outlier as a country and a large difference between people: about 81% of Indians are more satisfied than the average person elsewhere
Competition is harmful (PALS) +3.6 +0.58 An extreme outlier among countries (they bunch tightly), but only a medium difference between people: many Indians and non-Indians think alike
Strong leader is good (WVS) +1.6 +0.56 Clearly above other countries, a medium difference between people
Fighting rising prices as an aim (WVS) +0.7 +0.24 Somewhat above average, a small difference
Free speech as an aim (WVS) −1.0 −0.36 Clearly below the other countries, a small-to-medium difference

VI.2 Summary by measure

What is shown. For each measure: the average z-score and effect size across its bridge questions in each survey, and the average bridge correlation.

dist |>
  left_join(select(bridges, var, measure), by = "var") |>
  group_by(measure, survey) |>
  summarise(z = mean(z), d = mean(d), .groups = "drop") |>
  pivot_wider(names_from = survey, values_from = c(z, d)) |>
  left_join(rho |> left_join(select(bridges, var, measure), by = "var") |>
              group_by(measure) |> summarise(rho = mean(rho), k = n(), .groups = "drop"), by = "measure") |>
  mutate(measure = factor(measure, unique(bridges$measure))) |>
  arrange(measure) |>
  transmute(Measure = measure, `Bridge pairs` = k,
            `z, WVS` = sprintf("%+.1f", z_WVS), `z, PALS` = sprintf("%+.1f", z_PALS),
            `d, WVS` = sprintf("%+.2f", d_WVS), `d, PALS` = sprintf("%+.2f", d_PALS),
            `Average ρ` = sprintf("%.2f", rho)) |>
  kable(caption = "India's average distance from the other 14 countries, by measure", align = c("l", rep("c", 6))) |>
  styled()
India’s average distance from the other 14 countries, by measure
Measure Bridge pairs z, WVS z, PALS d, WVS d, PALS Average ρ
Governance (delivery) 1 +0.7 +0.7 +0.24 +0.18 0.64
Accountability 3 -0.6 -0.3 -0.13 -0.03 0.50
Accountability: perceived capture 2 -0.0 -0.9 +0.02 -0.34 0.44
Satisfaction with the political system 1 +1.0 +2.3 +0.46 +0.89 0.79
Authoritarian side 6 +0.6 +0.4 +0.22 +0.10 -0.02
Security over freedom 2 +2.2 +1.8 +0.68 +0.39 0.41
Liberal side 6 -0.2 -0.6 -0.11 -0.17 0.09
State support 2 +1.6 +1.8 +0.36 +0.29 0.51
Inequality: exclusion 3 +0.2 +0.8 +0.07 +0.22 0.30

VI.3 India’s nearest countries (statistical distance)

What is shown. For each measure, the three countries closest to India once every bridge question is put on the same footing (each question standardised across the 15 countries), using the average squared difference (Euclidean distance) over the measure’s questions.

z_near <- function(cm, survey) {
  cm |>
    group_by(var) |> mutate(zm = (m - mean(m)) / sd(m)) |> ungroup() |>
    left_join(select(bridges, var, measure), by = "var") |>
    group_by(measure, var) |> mutate(india = zm[country_name == "India"][1]) |> ungroup() |>
    filter(country_name != "India", !is.na(india)) |>
    group_by(measure, country_name) |>
    summarise(dist = sqrt(mean((zm - india)^2)), .groups = "drop") |>
    group_by(measure) |> slice_min(dist, n = 3, with_ties = FALSE) |>
    summarise(cell = paste0(country_name, " (", sprintf("%.1f", dist), ")", collapse = ", "), .groups = "drop") |>
    mutate(survey = survey)
}
bind_rows(z_near(cm_wvs, "WVS"), z_near(cm_pals, "PALS")) |>
  pivot_wider(names_from = survey, values_from = cell) |>
  mutate(measure = factor(measure, unique(bridges$measure))) |>
  arrange(measure) |>
  select(Measure = measure, `Nearest in WVS 2023` = WVS, `Nearest in PALS 2022` = PALS) |>
  kable(caption = "India's three nearest countries by measure (distance in standard deviations)") |>
  styled()
India’s three nearest countries by measure (distance in standard deviations)
Measure Nearest in WVS 2023 Nearest in PALS 2022
Governance (delivery) Turkey (0.0), United Kingdom (0.1), Brazil (0.3) Nigeria (0.1), Singapore (0.2), Peru (0.3)
Accountability Brazil (0.8), Turkey (0.8), Peru (0.8) Peru (0.5), Singapore (0.6), United Kingdom (0.7)
Accountability: perceived capture Nigeria (0.7), Indonesia (0.8), United States (1.0) Indonesia (0.2), Australia (0.7), United Kingdom (0.9)
Satisfaction with the political system Germany (0.1), Indonesia (0.1), Turkey (0.2) Singapore (0.7), Indonesia (0.9), Germany (1.1)
Authoritarian side Mexico (0.6), Turkey (0.8), Brazil (0.9) Nigeria (0.8), United States (0.8), Singapore (1.1)
Security over freedom Indonesia (0.9), Nigeria (1.0), Australia (1.5) Indonesia (0.7), United Kingdom (1.0), Tunisia (1.1)
Liberal side Turkey (0.5), Russia (0.5), Singapore (0.6) Indonesia (1.3), Nigeria (1.4), Peru (1.6)
State support Turkey (0.6), Indonesia (0.8), Russia (0.9) Indonesia (0.8), United Kingdom (1.5), Singapore (1.8)
Inequality: exclusion Nigeria (0.4), Brazil (0.4), Chile (0.4) Singapore (0.5), United States (0.5), Nigeria (0.6)

What this part shows.

  • Where India is a true outlier. On a few questions India is far from the other 14 countries in both surveys:
    • Security over freedom: z about +2 in both (video or camera surveillance +2.3 and +1.6; internet or phone monitoring +2.1 and +2.0), with medium-to-large effect sizes (d up to 0.7).
    • Competition is harmful (the identical question): z +2.3 and +3.6.
    • Satisfaction with the political system: z +1.0 and +2.3 (d 0.46 and 0.89).
    • In PALS only, India is far below the others on the concrete liberal items: a fair legal system (z −2.0), government bound by courts (−1.9) and rejecting men first for jobs (−2.4).
  • Elsewhere India is closer to the pack than its rank suggests. Most z-scores lie between −1 and +1 and most effect sizes are small (below 0.3): a high or low rank often rests on modest differences between countries.
  • How good are the bridges? The pairs that sort countries the same way in both surveys (ρ 0.6 or more) are voting (0.81), satisfaction with the political system (0.79), internet monitoring (0.74), nationals first for jobs (0.66), fighting rising prices (0.64) and rejecting men first for jobs (0.63). On these, comparing India across the two surveys is well founded.
  • Weak bridges. The authoritarian-side pairs barely agree (average ρ about 0: strong leader −0.42, respect for authority −0.34, experts −0.15, army −0.04). “Is X a good way to govern?” (WVS) and “should X decide rather than citizens?” (PALS) sort countries differently. The same holds for the “necessary to live freely” pairs and luck vs ancestry (ρ close to 0). On these, a different picture of India in the two surveys may reflect the questions rather than India, and the Part V comparison should be read with care.

Part VII. Rich and poor: does income divide people the same way everywhere?

Do India’s poor think like the poor of other countries, and India’s rich like the rich? Or does each country’s poor resemble its own rich more than the poor elsewhere? This part splits each country’s respondents into three income groups and compares them across thirteen countries in the WVS: India, Indonesia, Malaysia, Thailand, Nigeria, Egypt, Jordan, Turkey, Brazil, Uruguay, Germany, the Netherlands and the United States. PALS covers seven of them (India, Indonesia, Nigeria, Türkiye, Brazil, Germany and the United States).

  • Income groups: the bottom 25%, middle 50% and top 25% of each country, ranked by that country’s own income answers (weighted). The income questions have only 9–10 steps, so a step can straddle the 25% or 75% line; respondents on that step are split between the two groups in proportion, so every country has exactly 25% / 50% / 25%. The groups are therefore relative to each country: the top 25% of India and of Germany are each country’s own better-off quarter. People who did not answer the income question are left out.
  • The two surveys are kept apart, because they ask about income differently:
    • WVS (Q288): “On this card is an income scale on which 1 indicates the lowest income group and 10 the highest income group in your country. We would like to know in what group your household is.” (where people place themselves)
    • PALS (F26): “Considering everyone living regularly in your household, what is your household’s total monthly income, after tax and compulsory deductions, from all sources?” (9 brackets relative to the national mean income)
  • Reading the tables: compare down a column (do the poor of different countries differ?) and along a row (does income matter within a country?). “Overall” is the whole country (all income groups together, weighted); “Top − bottom” is the gap between a country’s rich and poor, in percentage points.
inc_levels <- c("Bottom 25%", "Middle 50%", "Top 25%")

# exact 25/50/25 within each group of `by`: respondents on a step that straddles a cut-off are split by weight
inc_split <- function(d, inc, w, by) {
  d <- d |> filter(!is.na(.data[[inc]]), !is.na(.data[[w]]))
  tab <- d |>
    group_by(across(all_of(c(by, inc)))) |>
    summarise(.w = sum(.data[[w]]), .groups = "drop") |>
    group_by(across(all_of(by))) |>
    arrange(.data[[inc]], .by_group = TRUE) |>
    mutate(p = .w / sum(.w), hi = cumsum(p), lo = hi - p,
           f_bottom = pmax(0, pmin(hi, 0.25) - lo) / p,
           f_top    = pmax(0, hi - pmax(lo, 0.75)) / p,
           f_middle = pmax(0, 1 - f_bottom - f_top)) |>
    ungroup() |>
    select(all_of(c(by, inc)), f_bottom, f_middle, f_top)
  d |>
    left_join(tab, by = c(by, inc)) |>
    pivot_longer(c(f_bottom, f_middle, f_top), names_to = "inc_grp", values_to = "f") |>
    filter(f > 0) |>
    mutate(w_inc = .data[[w]] * f,
           inc_grp = factor(c(f_bottom = "Bottom 25%", f_middle = "Middle 50%", f_top = "Top 25%")[inc_grp], inc_levels))
}
# % with value 1 for each country x income group
inc_est <- function(dsplit, vars) {
  imap_dfr(vars, function(lab, v) {
    d <- dsplit |> filter(!is.na(.data[[v]]))
    bind_rows(
      d |> group_by(country_name, inc_grp) |>
        summarise(est = 100 * sum(.data[[v]] * w_inc) / sum(w_inc), .groups = "drop"),
      # whole country: the split fractions sum to 1, so this is the plain weighted share
      d |> group_by(country_name) |>
        summarise(est = 100 * sum(.data[[v]] * w_inc) / sum(w_inc), .groups = "drop") |>
        mutate(inc_grp = "Overall")
    ) |> mutate(inc_grp = factor(as.character(inc_grp), c(inc_levels, "Overall")), item = lab)
  }) |> mutate(item = factor(item, vars))
}
# table: one block per item, rows = countries, columns = income groups + gap
inc_table <- function(est, caption, order) {
  tab <- est |>
    pivot_wider(names_from = inc_grp, values_from = est) |>
    mutate(`Top − bottom` = `Top 25%` - `Bottom 25%`,
           country_name = factor(country_name, order)) |>
    arrange(item, country_name)
  tab |>
    transmute(Country = as.character(country_name), Overall = sprintf("%.0f", Overall),
              across(all_of(inc_levels), ~ sprintf("%.0f", .x)), `Top − bottom` = sprintf("%+.0f", `Top − bottom`)) |>
    kable(caption = caption, align = c("l", "c", "c", "c", "c", "c")) |>
    styled() |>
    pack_rows(index = table(tab$item)) |>
    footnote(general = "Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country's own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.",
             general_title = "")
}
inc_cols <- setNames(c("#86b6ef", "#256abf", "#0d366b"), inc_levels)   # one-hue ramp: richer = darker
# 100% stacked bars (as in Part II): one bar per income group, countries stacked in blocks
inc_stack <- function(est, order, cols, title) {
  d <- est |>
    filter(country_name %in% order, inc_grp %in% inc_levels) |>
    mutate(country_name = factor(country_name, order),
           inc_grp = factor(inc_grp, rev(inc_levels)),
           item = factor(as.character(item), names(cols)))
  ggplot(d, aes(est, inc_grp, fill = item)) +
    geom_col(width = 0.75, colour = "white", linewidth = 0.6, position = position_stack(reverse = TRUE)) +
    geom_text(aes(label = ifelse(est >= 6, sprintf("%.0f", est), ""), group = item,
                  colour = cols[as.character(item)] %in% c("#86b6ef", "#5598e7", "#8a8983")),
              position = position_stack(vjust = 0.5, reverse = TRUE), size = 3, show.legend = FALSE) +
    scale_fill_manual(values = cols) +
    scale_colour_manual(values = c(`TRUE` = ink, `FALSE` = "white"), guide = "none") +
    scale_x_continuous(expand = expansion(mult = c(0, 0.03)), labels = function(x) paste0(x, "%")) +
    facet_grid(country_name ~ ., switch = "y") +
    labs(title = title, x = NULL, y = NULL,
         caption = "Each bar: one income group of that country (its own bottom 25%, middle 50%, top 25%). % of those classified.") +
    theme_wvs() +
    theme(panel.grid.major.y = element_blank(), strip.placement = "outside",
          strip.text.y.left = element_text(angle = 0, hjust = 1, face = "bold", colour = ink),
          panel.spacing.y = unit(0.6, "lines"))
}

VII.1 WVS (Wave 7)

What is shown. The four governance/accountability groups (II.1) and the three conceptions of democracy (II.2), within each country’s bottom 25%, middle 50% and top 25%, in the latest WVS wave (India 2023; the United States 2017; the Netherlands and Uruguay 2022; all others 2018). Shares are of those classified, as in Part II.

Questions used. The same questions and rules as Part II, applied to each income group.

  • Governance/accountability groups (II.1): a respondent demands governance if they say yes to at least half of the delivery questions they answered (2 of 4), and accountability if they say yes to at least half of the accountability questions they answered (3 of 5). Crossing the two gives Accountability-first, Want both, Governance-first and Neither.
  • Conceptions of democracy (II.2): liberal score = share of the 5 liberal questions answered yes; authoritarian score = share of the 7 authoritarian questions answered yes; democracy score = liberal − authoritarian (−1 to +1).
    • Liberal (maximalist): 0.5 or more, with free elections rated 7–10.
    • Minimalist (electoral): above 0 and below 0.5, with free elections rated 7–10.
    • Illiberal: 0 or less, or free elections rated 1–6.
q_table(q_gtype_rows, show_india = FALSE,
        caption = "Governance and accountability groups: questions used (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)")
Governance and accountability groups: questions used (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)
Question number in the WVS file
Question Response format How it is counted / what it maps to W4 W5 W6 W7
Governance (delivery): yes on at least half of 4
“A high level of economic growth” — People sometimes talk about what the aims of this country should be for the next ten years. Would you please say which one of these you, yourself, consider the most important? And which would be the next most important? First and second choice from: A high level of economic growth / Making sure this country has strong defense forces / Seeing that people have more say about how things are done at their jobs and in their communities / Trying to make our cities and countryside more beautiful Picked 1st or 2nd = yes V120 & V121 V69 & V70 V60 & V61 Q152 & Q153
“Fighting rising prices” — If you had to choose, which one of the things on this card would you say is most important? And which would be the next most important? First and second choice from: Maintaining order in the nation / Giving people more say in important government decisions / Fighting rising prices / Protecting freedom of speech Picked 1st or 2nd = yes V122 & V123 V71 & V72 V62 & V63 Q154 & Q155
“A stable economy” — Here is another list. In your opinion, which one of these is most important? And what would be the next most important? First and second choice from: A stable economy / Progress toward a less impersonal and more humane society / Progress toward a society in which ideas count more than money / The fight against crime Picked 1st or 2nd = yes V124 & V125 V73 & V74 V64 & V65 Q156 & Q157
“The fight against crime” — Here is another list. In your opinion, which one of these is most important? And what would be the next most important? First and second choice from: A stable economy / Progress toward a less impersonal and more humane society / Progress toward a society in which ideas count more than money / The fight against crime Picked 1st or 2nd = yes V124 & V125 V73 & V74 V64 & V65 Q156 & Q157
Accountability, including willingness to act: yes on at least half of 5
“Giving people more say in important government decisions” — If you had to choose, which one of the things on this card would you say is most important? And which would be the next most important? First and second choice from: Maintaining order in the nation / Giving people more say in important government decisions / Fighting rising prices / Protecting freedom of speech Picked 1st or 2nd = yes V122 & V123 V71 & V72 V62 & V63 Q154 & Q155
“Seeing that people have more say about how things are done at their jobs and in their communities” — People sometimes talk about what the aims of this country should be for the next ten years. Would you please say which one of these you, yourself, consider the most important? And which would be the next most important? First and second choice from: A high level of economic growth / Making sure this country has strong defense forces / Seeing that people have more say about how things are done at their jobs and in their communities / Trying to make our cities and countryside more beautiful Picked 1st or 2nd = yes V120 & V121 V69 & V70 V60 & V61 Q152 & Q153
“Signing a petition” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes V134 V96 V85 Q209
“Attending peaceful demonstrations” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes V136 V98 V87 Q211
“Joining in boycotts” — I’m going to read out some forms of political action that people can take, and I’d like you to tell me, for each one, whether you have done any of these things, whether you might do it or would never under any circumstances do it. 1 Have done, 2 Might do, 3 Would never do 1–2 (done or might do) = yes V135 V97 V86 Q210
q_table(filter(q_conc_rows, !grepl("^Shown for each type", side)), show_india = FALSE,
        caption = "Liberal, minimalist and illiberal conceptions of democracy: questions used (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)")
Liberal, minimalist and illiberal conceptions of democracy: questions used (wording from the WVS Wave 7 questionnaire; earlier waves differ slightly in places)
Question number in the WVS file
Question Response format How it is counted / what it maps to W4 W5 W6 W7
Liberal questions: liberal score = share answered yes
“People choose their leaders in free elections.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes. 1–6 = Illiberal whatever the score — V154 V133 Q243
“Civil rights protect people from state oppression.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes — V157 V136 Q246
“Women have the same rights as men.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes — V161 V139 Q249
“Having a democratic political system” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes V167 V151 V130 Q238
“How important is it for you to live in a country that is governed democratically? On this scale where 1 means it is ‘not at all important’ and 10 means ‘absolutely important’ what position would you choose?” 1 Not at all important … 10 Absolutely important 7–10 = yes — V162 V140 Q250
Authoritarian questions: authoritarian score = share answered yes
“The army takes over when government is incompetent.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes — V156 V135 Q245
“Religious authorities ultimately interpret the laws.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes — V153 V132 Q242
“People obey their rulers.” — Many things are desirable, but not all of them are essential characteristics of democracy. Please tell me for each of the following things how essential you think it is as a characteristic of democracy. 1 “Not at all an essential characteristic of democracy” … 10 “An essential characteristic of democracy” 7–10 = yes (from 2012) — — V138 Q248
“Having the army rule” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes V166 V150 V129 Q237
“Having a strong leader who does not have to bother with parliament and elections” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes V164 V148 V127 Q235
“Having experts, not government, make decisions according to what they think is best for the country” — I’m going to describe various types of political systems and ask what you think about each as a way of governing this country. For each one, would you say it is a very good, fairly good, fairly bad or very bad way of governing this country? 1 Very good, 2 Fairly good, 3 Fairly bad, 4 Very bad 1–2 (good) = yes V165 V149 V128 Q236
“Greater respect for authority” — I’m going to read out a list of various changes in our way of life that might take place in the near future. Please tell me for each one, if it were to happen, whether you think it would be a good thing, a bad thing, or don’t you mind? 1 Good, 2 Don’t mind, 3 Bad 1 (good thing) = yes V130 V78 V69 Q45
wvs_order <- c("India", "Indonesia", "Malaysia", "Thailand", "Nigeria", "Egypt", "Jordan", "Turkey",
               "Brazil", "Uruguay", "Germany", "Netherlands", "United States")
wvs_inc <- wvs_wb |>
  filter(wave == "W7", country_name %in% wvs_order) |>
  inc_split(inc = "income10", w = "weight", by = "country_name")
wvs_inc |>
  distinct(country_name) |> nrow() |> (\(n) stopifnot(n == 13))()
est_g <- inc_est(wvs_inc, c(g_accfirst = "Accountability-first", g_both = "Want both",
                            g_govfirst = "Governance-first", g_neither = "Neither"))
est_c <- inc_est(wvs_inc, c(con_liberal = "Liberal (maximalist)", con_minimal = "Minimalist (electoral)",
                            con_illiberal = "Illiberal"))
inc_table(est_g, "Governance and accountability groups by income group (% of those classified), WVS Wave 7", wvs_order)
Governance and accountability groups by income group (% of those classified), WVS Wave 7
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Accountability-first
India 14 17 14 14 -3
Indonesia 5 5 4 7 +2
Malaysia 9 8 10 8 -0
Thailand 4 3 5 4 +1
Nigeria 6 5 8 5 +1
Egypt 0 0 0 1 +1
Jordan 3 2 2 4 +2
Turkey 16 12 17 18 +7
Brazil 11 6 12 16 +9
Uruguay 13 9 14 14 +4
Germany 31 31 29 34 +3
Netherlands 27 26 30 22 -4
United States 16 17 15 14 -3
Want both
India 33 25 34 36 +11
Indonesia 26 16 29 30 +14
Malaysia 44 31 44 58 +26
Thailand 33 40 34 23 -17
Nigeria 31 28 30 37 +9
Egypt 4 2 4 7 +5
Jordan 15 13 15 15 +3
Turkey 31 31 30 35 +4
Brazil 57 54 60 53 -1
Uruguay 44 45 42 47 +1
Germany 50 45 52 51 +6
Netherlands 47 43 46 52 +9
United States 62 56 61 69 +13
Governance-first
India 44 45 44 43 -3
Indonesia 60 68 59 53 -15
Malaysia 40 49 40 31 -18
Thailand 54 47 54 63 +16
Nigeria 56 61 56 51 -10
Egypt 94 97 94 90 -7
Jordan 76 79 78 71 -8
Turkey 43 47 43 39 -7
Brazil 28 36 24 28 -9
Uruguay 38 40 38 35 -5
Germany 16 21 16 10 -10
Netherlands 23 26 22 23 -3
United States 21 23 22 16 -7
Neither
India 9 13 8 7 -6
Indonesia 9 11 7 10 -2
Malaysia 7 11 6 3 -8
Thailand 8 10 7 10 +0
Nigeria 6 6 6 7 +1
Egypt 2 1 2 1 +0
Jordan 7 6 5 10 +3
Turkey 10 11 10 8 -4
Brazil 4 3 4 4 +0
Uruguay 5 5 6 4 -1
Germany 3 3 3 4 +2
Netherlands 3 5 2 3 -2
United States 2 3 2 1 -3
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.
inc_stack(est_g, wvs_order,
          cols = c(`Accountability-first` = "#256abf", `Want both` = "#5598e7",
                   `Governance-first` = "#e34948", Neither = "#8a8983"),
          title = "Governance and accountability groups by income group, WVS Wave 7")

inc_table(est_c, "Conceptions of democracy by income group (% of those classified), WVS Wave 7", wvs_order)
Conceptions of democracy by income group (% of those classified), WVS Wave 7
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Liberal (maximalist)
India 27 26 30 20 -6
Indonesia 15 12 16 18 +6
Malaysia 4 3 5 4 +0
Thailand 16 17 15 18 +2
Nigeria 14 14 16 12 -2
Egypt 27 31 26 26 -5
Jordan 14 14 13 16 +3
Turkey 31 35 30 29 -6
Brazil 28 26 30 28 +2
Uruguay 46 34 50 50 +16
Germany 88 81 90 94 +13
Netherlands 77 70 78 81 +11
United States 52 45 48 66 +21
Minimalist (electoral)
India 41 35 40 46 +11
Indonesia 44 41 44 48 +7
Malaysia 19 22 19 14 -9
Thailand 35 33 30 46 +13
Nigeria 47 49 43 52 +3
Egypt 39 42 37 39 -3
Jordan 40 39 42 37 -2
Turkey 25 22 24 29 +7
Brazil 38 44 39 33 -11
Uruguay 38 46 36 34 -12
Germany 7 13 6 4 -9
Netherlands 11 11 12 9 -2
United States 20 21 20 19 -2
Illiberal
India 33 39 30 34 -5
Indonesia 40 48 40 35 -13
Malaysia 77 74 76 82 +8
Thailand 49 50 55 36 -14
Nigeria 39 37 41 36 -1
Egypt 34 28 37 35 +7
Jordan 46 47 45 46 -1
Turkey 44 43 46 42 -0
Brazil 33 31 31 39 +9
Uruguay 16 20 14 17 -3
Germany 4 7 4 2 -4
Netherlands 12 18 10 10 -8
United States 28 34 31 15 -18
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.
inc_stack(est_c, wvs_order,
          cols = c(`Liberal (maximalist)` = "#0d366b", `Minimalist (electoral)` = "#256abf", Illiberal = "#86b6ef"),
          title = "Conceptions of democracy by income group, WVS Wave 7")

What this shows (WVS).

  • Country matters far more than income. Most rich-poor gaps are under 10 points (the largest is Malaysia’s +26 on “want both”), while countries differ by up to 78 points (governance-first: Germany 16%, Egypt 94%). India’s poor are much closer to India’s rich than to the poor of Germany: 26% of India’s bottom 25% hold the liberal conception, against 20% of India’s top 25% and 81% of Germany’s bottom 25%. Overall, India (27% liberal) sits with Egypt (27%), Brazil (28%) and Turkey (31%).
  • India’s rich move away from the liberal conception. In Germany (+13 points), the Netherlands (+11), the United States (+21), Uruguay (+16) and Indonesia (+6) the rich are more liberal than the poor; in Brazil, Thailand and Jordan income makes little difference (+2 to +3). In India and Turkey the rich are slightly less liberal (−6), as in Egypt (−5), and India’s rich lean minimalist instead (35% → 46% from bottom to top).
  • In the United States income divides views of democracy most. Its poor are 45% liberal and 34% illiberal, nearer to Turkey’s poor (35%, 43%) than to Germany’s (81%, 7%); its rich are 66% liberal and 15% illiberal.
  • Governance-first falls with income almost everywhere (Malaysia −18, Indonesia −15, Nigeria −10, Germany −10, Brazil −9, Jordan −8), and “want both” usually rises (up to +26 in Malaysia). Thailand is the exception: its rich are more governance-first than its poor (47% → 63%) and less “want both” (40% → 23%). India’s governance-first share is flat across income groups (45%, 44%, 43%); there, the poor are the most accountability-first (17%).
  • Uruguay is the most liberal country after Germany, the Netherlands and the United States (46% overall, 50% of its top 25%), with few illiberals (16%). Its poor are split between liberal (34%) and minimalist (46%) views; its middle and top lean liberal.
  • The Arab countries are the most governance-first at every income level: Egypt 90–97%, Jordan 71–79%. Malaysia is the most illiberal (77% overall, 74–82% across groups). Brazil’s “want both” share (57%) is close to the United States (62%) and Germany (50%).

VII.2 WVS, all waves pooled (2001–2023)

What is shown. The same analysis as VII.1, but with every WVS wave from W4 to W7 in which a country was surveyed, pooled together. This gives larger income groups and shows whether the Wave 7 picture holds over two decades. The questions and rules are those listed in VII.1.

  • Income groups are cut within each country and wave: each respondent is placed in the bottom 25%, middle 50% or top 25% of their own country at the time of their survey.
  • Each wave counts equally within a country (weights rescaled so that every country-wave sums to the same total), so a large sample such as India 2012 does not dominate.
  • The conceptions of democracy need the “essentials of democracy” questions, which were first asked in Wave 5; that pool is W5–W7 only. The governance/accountability groups use W4–W7.
wvs_pool <- wvs_wb |>
  filter(country_name %in% wvs_order, !is.na(income10), !is.na(weight)) |>
  group_by(country_name, wave) |>
  mutate(w_eq = weight / sum(weight)) |>
  ungroup() |>
  inc_split(inc = "income10", w = "w_eq", by = c("country_name", "wave"))
# which waves enter each pool
pool_cov <- function(v) {
  wvs_pool |> filter(!is.na(.data[[v]])) |>
    group_by(country_name, wave) |> summarise(year = min(survey_year), .groups = "drop") |>
    arrange(wave) |> group_by(country_name) |>
    summarise(w = paste0(wave, " (", year, ")", collapse = ", "), .groups = "drop")
}
left_join(pool_cov("g_accfirst") |> rename(`Governance/accountability groups` = w),
          pool_cov("con_liberal") |> rename(`Conceptions of democracy` = w), by = "country_name") |>
  mutate(country_name = factor(country_name, wvs_order)) |> arrange(country_name) |>
  rename(Country = country_name) |>
  kable(caption = "Waves pooled for each country") |>
  styled()
Waves pooled for each country
Country Governance/accountability groups Conceptions of democracy
India W4 (2001), W5 (2006), W6 (2012), W7 (2023) W5 (2006), W6 (2012), W7 (2023)
Indonesia W4 (2001), W5 (2006), W7 (2018) W5 (2006), W7 (2018)
Malaysia W5 (2006), W6 (2012), W7 (2018) W5 (2006), W6 (2012), W7 (2018)
Thailand W5 (2007), W6 (2013), W7 (2018) W5 (2007), W6 (2013), W7 (2018)
Nigeria W4 (2000), W6 (2012), W7 (2018) W6 (2012), W7 (2018)
Egypt W4 (2001), W5 (2008), W6 (2013), W7 (2018) W5 (2008), W6 (2013), W7 (2018)
Jordan W4 (2001), W5 (2007), W6 (2014), W7 (2018) W5 (2007), W6 (2014), W7 (2018)
Turkey W4 (2001), W5 (2007), W6 (2011), W7 (2018) W5 (2007), W6 (2011), W7 (2018)
Brazil W5 (2006), W6 (2014), W7 (2018) W5 (2006), W6 (2014), W7 (2018)
Uruguay W5 (2006), W6 (2011), W7 (2022) W5 (2006), W6 (2011), W7 (2022)
Germany W5 (2006), W6 (2013), W7 (2018) W5 (2006), W6 (2013), W7 (2018)
Netherlands W5 (2006), W6 (2012), W7 (2022) W5 (2006), W6 (2012), W7 (2022)
United States W4 (1999), W5 (2006), W6 (2011), W7 (2017) W5 (2006), W6 (2011), W7 (2017)
est_pg <- inc_est(wvs_pool, c(g_accfirst = "Accountability-first", g_both = "Want both",
                              g_govfirst = "Governance-first", g_neither = "Neither"))
est_pc <- inc_est(wvs_pool, c(con_liberal = "Liberal (maximalist)", con_minimal = "Minimalist (electoral)",
                              con_illiberal = "Illiberal"))
inc_table(est_pg, "Governance and accountability groups by income group (% of those classified), WVS W4–W7 pooled", wvs_order)
Governance and accountability groups by income group (% of those classified), WVS W4–W7 pooled
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Accountability-first
India 8 7 8 9 +1
Indonesia 3 3 3 4 +1
Malaysia 5 4 5 4 -0
Thailand 5 3 6 6 +3
Nigeria 5 3 5 5 +1
Egypt 2 2 2 3 +1
Jordan 2 1 1 3 +2
Turkey 10 8 10 13 +5
Brazil 8 6 9 10 +3
Uruguay 10 8 10 11 +3
Germany 20 21 18 22 +2
Netherlands 21 21 21 22 +1
United States 13 14 13 13 -1
Want both
India 38 33 39 42 +10
Indonesia 25 21 26 27 +6
Malaysia 25 21 26 27 +6
Thailand 25 24 26 24 +1
Nigeria 33 26 34 40 +14
Egypt 12 11 12 14 +2
Jordan 10 7 9 13 +6
Turkey 31 26 30 37 +10
Brazil 55 52 57 55 +3
Uruguay 36 34 36 41 +7
Germany 55 51 57 56 +5
Netherlands 51 49 51 51 +2
United States 66 64 66 68 +4
Governance-first
India 47 53 47 43 -10
Indonesia 66 70 66 64 -5
Malaysia 61 66 60 60 -7
Thailand 62 66 61 61 -5
Nigeria 57 65 56 50 -15
Egypt 83 85 84 81 -4
Jordan 82 87 83 77 -10
Turkey 51 57 53 43 -13
Brazil 34 39 31 33 -6
Uruguay 48 54 48 44 -10
Germany 22 26 22 18 -8
Netherlands 26 27 25 26 -1
United States 20 20 21 19 -2
Neither
India 6 7 6 6 -1
Indonesia 6 7 5 5 -2
Malaysia 9 8 8 10 +1
Thailand 8 7 8 9 +1
Nigeria 5 6 5 5 -0
Egypt 2 2 2 3 +1
Jordan 6 5 6 7 +2
Turkey 8 9 8 7 -2
Brazil 3 3 3 2 -1
Uruguay 6 5 7 5 -1
Germany 3 2 3 3 +1
Netherlands 3 4 3 2 -2
United States 1 2 1 1 -1
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.
inc_stack(est_pg, wvs_order,
          cols = c(`Accountability-first` = "#256abf", `Want both` = "#5598e7",
                   `Governance-first` = "#e34948", Neither = "#8a8983"),
          title = "Governance and accountability groups by income group, WVS W4–W7 pooled")

inc_table(est_pc, "Conceptions of democracy by income group (% of those classified), WVS W5–W7 pooled", wvs_order)
Conceptions of democracy by income group (% of those classified), WVS W5–W7 pooled
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Liberal (maximalist)
India 27 27 28 25 -2
Indonesia 33 26 33 39 +12
Malaysia 17 16 17 17 +1
Thailand 29 31 29 24 -7
Nigeria 17 18 19 12 -7
Egypt 18 21 17 17 -5
Jordan 14 12 13 16 +4
Turkey 39 42 39 39 -2
Brazil 29 25 31 30 +5
Uruguay 54 48 56 56 +8
Germany 84 79 84 89 +10
Netherlands 72 65 73 77 +12
United States 56 50 53 67 +16
Minimalist (electoral)
India 37 35 37 39 +4
Indonesia 38 38 38 39 +1
Malaysia 31 33 29 33 +1
Thailand 31 32 28 36 +4
Nigeria 45 46 44 48 +1
Egypt 44 40 44 46 +6
Jordan 45 44 45 44 +0
Turkey 28 27 28 30 +3
Brazil 40 43 39 36 -7
Uruguay 30 35 28 27 -9
Germany 8 12 8 5 -7
Netherlands 13 14 13 12 -3
United States 18 19 17 16 -3
Illiberal
India 36 38 35 36 -2
Indonesia 29 36 29 23 -13
Malaysia 52 51 54 50 -2
Thailand 40 37 43 39 +3
Nigeria 38 35 38 41 +5
Egypt 38 38 39 37 -2
Jordan 42 44 42 40 -4
Turkey 32 31 33 31 -1
Brazil 31 32 29 33 +2
Uruguay 16 17 15 17 +0
Germany 8 9 8 6 -3
Netherlands 15 21 14 11 -10
United States 27 31 30 17 -14
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.
inc_stack(est_pc, wvs_order,
          cols = c(`Liberal (maximalist)` = "#0d366b", `Minimalist (electoral)` = "#256abf", Illiberal = "#86b6ef"),
          title = "Conceptions of democracy by income group, WVS W5–W7 pooled")

What this shows (WVS pooled).

  • The main result holds: country matters far more than income. No rich-poor gap in the pooled tables is larger than 16 points, while countries differ by up to 70 points (liberal: Germany 84%, Jordan 14%). Pooled over 2006–2023, about 27% of Indians hold the liberal conception at every income level (27%, 28%, 25%), close to Brazil (29%) and Thailand (29%), against 79–89% of Germans.
  • With all waves, governance-first falls with income in every country, India included. The pooled share drops from 53% among India’s bottom 25% to 43% among its top 25% (−10 points), as in Nigeria (−15), Turkey (−13), Jordan (−10), Uruguay (−10) and Germany (−8). In Wave 7 alone India was flat (45%, 44%, 43%), so the gradient comes from the earlier waves, when India’s poor were more governance-first. Thailand’s Wave 7 reversal does not show in the pool (−5), so it is recent. In the Netherlands and the United States income makes almost no difference (−1, −2).
  • “Want both” rises with income everywhere (+1 to +14 points), while accountability-first barely moves (−1 to +5). The rich add accountability to delivery rather than putting accountability first.
  • The rich are more liberal in Germany (+10), the Netherlands (+12), the United States (+16) and, pooled, Indonesia (+12), and less illiberal (US −14, Netherlands −10, Indonesia −13). Uruguay (+8), Brazil (+5) and Jordan (+4) lean the same way more weakly. In India, Turkey and Malaysia income makes little difference (−2 to +1). In Thailand (−7), Nigeria (−7) and Egypt (−5) the rich are less liberal.
  • India’s Wave 7 tilt is weaker over time. In 2023 India’s rich were 6 points less liberal and 11 points more minimalist than its poor; pooled over 2006–2023 the gaps are −2 and +4. The move of India’s rich towards a minimalist view looks recent rather than long-standing.

VII.3 PALS (2022)

What is shown. The PALS questions on the same two themes (see Part IV for their exact wording), within each country’s bottom 25%, middle 50% and top 25%: the most important goals (% who picked each), who should decide policy (% on the 4–6 side), rule of law and tolerance (% on the 4–6 side, the less liberal statement) and authoritarian values (% who agree). The Netherlands, Malaysia, Thailand, Egypt and Jordan were not surveyed in PALS.

pals_qtable(pq_gov_rows, caption = "Governance and accountability: PALS questions used (exact wording, PALS master questionnaire)")
Governance and accountability: PALS questions used (exact wording, PALS master questionnaire)
Code Question Response format Cell shows
D06: “There are different opinions about what society’s goals should be for the next ten years. Below are listed some of the goals which different people would give top priority. Please, pick the two that are most important to you.”
D06_a “Maintaining order in the nation.” Selected / not selected (up to two goals) % who picked it
D06_b “Giving people more say in important government decision.” Selected / not selected (up to two goals) % who picked it
D06_c “Fighting rising prices.” Selected / not selected (up to two goals) % who picked it
D06_d “Protecting freedom of speech.” Selected / not selected (up to two goals) % who picked it
B01: “There is often disagreement about what should be taken into consideration in policy-making. For each of the following situations, whose opinion should be most decisive for policy-making according to you?”
B01_a “What if citizens and political leaders disagree? On the scale below, please indicate whose opinion should be most decisive for policy-making according to you.” 1 “Citizens’ opinion should be most decisive for policy-making.” … 6 “Strong political leaders’ opinion should be most decisive for policy-making.” % 4–6
B01_b “What if citizens and elected politicians disagree? …” 1 “Citizens’ opinion …” … 6 “Elected politicians’ opinion should be most decisive for policy-making.” % 4–6
B01_c “What if citizens and established experts disagree? …” 1 “Citizens’ opinion …” … 6 “Established experts’ opinion should be most decisive for policy-making.” % 4–6
B01_d “What if citizens and religious leaders disagree? …” 1 “Citizens’ opinion …” … 6 “Religious leaders’ opinion should be most decisive for policy-making.” % 4–6
B01_e “What if citizens and the military disagree? …” 1 “Citizens’ opinion …” … 6 “The military’s opinion should be most decisive for policy-making.” % 4–6
pals_qtable(pq_lib_rows, caption = "Rule of law, tolerance and authoritarian values: PALS questions used (exact wording, PALS master questionnaire)")
Rule of law, tolerance and authoritarian values: PALS questions used (exact wording, PALS master questionnaire)
Code Question Response format Cell shows
B02: “There are different opinions on the role of laws in society and to whom they should apply to. Some prefer that rules apply to everyone alike while others claim that this is not reasonable. Where would you place yourself on each of the following scales?”
B02_a “Should the government always obey the laws and court decisions, even if it hinders its work or should the government not be bound at all by laws or court decisions in all instances to be able to work unhindered?” 1 “The government should always obey the laws and the court decisions, even if it hinders its work.” … 6 “The government should not be bound at all by laws or court decisions in all instances to be able to work unhindered.” % 4–6
B02_b “Should laws be enforced equally for everyone in society or can they, under certain circumstances, be enforced differently for different people?” 1 “Laws should be enforced equally for everyone in society.” … 6 “Under certain circumstances, laws can be enforced differently for different people.” % 4–6
B02_c “Should every human have the same basic rights in all countries or should a country’s society decide which rights people have in its country?” 1 “Every human should have the same basic rights in all countries.” … 6 “A country’s society should decide which rights people have in its country.” % 4–6
B06: “People are very different, for example, in terms of gender, religion, age, ethnicity or education, but should this be taken into consideration in the way they are accepted in a society? If everyone is accepted equally, this would mean that people whose behavior and beliefs are different or which are even seen as morally wrong are also accepted. How would you place yourself on the following scale?”
B06 (scale only) 1 “Society should accept all people equally.” … 6 “Society should decide on whom to accept.” % 4–6
D07: “There are different opinions on how society should be organized and how people should act. To what extent do you agree or disagree to each of the following statements?”
D07_a “It’s great that many young people today are prepared to defy authority.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_b “What our country needs most is discipline, with everyone following our leaders in unity.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_c “The “old-fashioned ways” and “old-fashioned values” still show the best way to live.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_d “There is nothing wrong with premarital sexual intercourse.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_e “Our society does not need tougher government and stricter laws.” (reversed) 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
D07_f “The facts on crime and the recent public disorders show we have to crack down harder on troublemakers, if we are going to preserve law and order.” 1 “Fully disagree” … 6 “Fully agree” % agree (4–6)
pals_order <- c("India", "Indonesia", "Nigeria", "Türkiye", "Brazil", "Germany", "United States")
pals_inc_raw <- pals |>
  filter(country_name %in% pals_order) |>
  mutate(inc = as.numeric(zap_labels(F26)), inc = ifelse(inc %in% 1:9, inc, NA),
         across(c(D06_a, D06_b, D06_c, D06_d), ~ { v <- as.numeric(zap_labels(.x)); ifelse(v %in% 0:1, v, NA) }),
         across(c(B01_a, B01_b, B01_c, B01_d, B01_e, B02_a, B02_b, B02_c, B06, D07_a, D07_b, D07_c, D07_d, D07_e, D07_f),
                ~ { v <- as.numeric(zap_labels(.x)); case_when(v %in% 4:6 ~ 1, v %in% 1:3 ~ 0) }))
pals_inc <- inc_split(pals_inc_raw, inc = "inc", w = "w2", by = "country_name")
est_p_gov <- inc_est(pals_inc, c(D06_a = "Goal: maintaining order", D06_b = "Goal: more say in government decisions",
                                 D06_c = "Goal: fighting rising prices", D06_d = "Goal: protecting freedom of speech",
                                 B01_a = "Strong political leaders should decide (not citizens)",
                                 B01_b = "Elected politicians should decide (not citizens)",
                                 B01_c = "Established experts should decide (not citizens)",
                                 B01_d = "Religious leaders should decide (not citizens)",
                                 B01_e = "The military should decide (not citizens)"))
est_p_dem <- inc_est(pals_inc, c(B02_a = "Government should not be bound by laws and courts",
                                 B02_b = "Laws can be enforced differently for different people",
                                 B02_c = "Each society should decide which rights people have",
                                 B06   = "Society should decide whom to accept",
                                 D07_a = "Young people defying authority is great (reversed)",
                                 D07_b = "Discipline, everyone following our leaders in unity",
                                 D07_c = "Old-fashioned ways and values are best",
                                 D07_d = "Nothing wrong with premarital sex (reversed)",
                                 D07_e = "No need for tougher government and stricter laws (reversed)",
                                 D07_f = "Crack down harder on troublemakers"))
inc_table(est_p_gov, "Governance and accountability questions by income group (%), PALS 2022", pals_order)
Governance and accountability questions by income group (%), PALS 2022
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Goal: maintaining order
India 46 54 46 38 -16
Indonesia 59 59 59 58 -1
Nigeria 43 35 47 42 +8
Türkiye 34 29 34 40 +11
Brazil 31 28 32 33 +5
Germany 44 39 44 48 +9
United States 44 40 43 50 +10
Goal: more say in government decisions
India 38 33 37 43 +10
Indonesia 37 40 35 38 -3
Nigeria 37 38 37 36 -2
Türkiye 42 44 40 45 +2
Brazil 45 46 43 46 +0
Germany 37 38 38 36 -2
United States 44 44 46 41 -3
Goal: fighting rising prices
India 68 72 64 71 -1
Indonesia 33 31 33 35 +4
Nigeria 66 68 66 64 -4
Türkiye 61 57 63 60 +3
Brazil 58 48 60 62 +14
Germany 49 57 50 40 -17
United States 46 46 48 40 -6
Goal: protecting freedom of speech
India 29 20 31 32 +11
Indonesia 53 50 53 55 +5
Nigeria 47 46 45 52 +6
Türkiye 48 47 49 46 -1
Brazil 47 47 47 48 +1
Germany 53 49 51 59 +10
United States 44 40 43 49 +9
Strong political leaders should decide (not citizens)
India 35 27 31 51 +24
Indonesia 37 26 39 46 +20
Nigeria 28 37 27 22 -15
Türkiye 26 22 23 36 +14
Brazil 22 23 24 19 -4
Germany 31 26 32 35 +9
United States 38 36 35 44 +8
Elected politicians should decide (not citizens)
India 36 24 32 54 +30
Indonesia 35 24 37 41 +17
Nigeria 26 31 25 20 -11
Türkiye 27 23 24 36 +13
Brazil 22 23 23 18 -5
Germany 32 30 31 36 +6
United States 38 38 35 44 +6
Established experts should decide (not citizens)
India 41 29 37 60 +31
Indonesia 51 43 49 61 +18
Nigeria 34 42 34 27 -15
Türkiye 37 35 34 46 +11
Brazil 44 40 45 46 +6
Germany 47 42 47 50 +7
United States 49 46 48 54 +8
Religious leaders should decide (not citizens)
India 36 24 32 54 +29
Indonesia 49 40 50 56 +16
Nigeria 44 57 42 34 -23
Türkiye 27 26 23 35 +9
Brazil 22 24 24 16 -8
Germany 14 10 14 19 +9
United States 32 30 31 34 +4
The military should decide (not citizens)
India 40 25 37 57 +32
Indonesia 35 23 36 42 +20
Nigeria 29 35 27 26 -8
Türkiye 27 23 24 37 +14
Brazil 27 27 29 21 -5
Germany 21 17 21 23 +6
United States 43 42 43 44 +2
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.
inc_table(est_p_dem, "Rule of law, tolerance and authoritarian values by income group (%), PALS 2022", pals_order)
Rule of law, tolerance and authoritarian values by income group (%), PALS 2022
Country Overall Bottom 25% Middle 50% Top 25% Top − bottom
Government should not be bound by laws and courts
India 35 37 31 42 +5
Indonesia 26 14 28 35 +21
Nigeria 17 16 18 15 -1
Türkiye 23 21 20 31 +10
Brazil 21 21 22 18 -2
Germany 14 11 13 17 +6
United States 25 22 24 30 +9
Laws can be enforced differently for different people
India 37 28 37 49 +21
Indonesia 30 19 32 37 +18
Nigeria 24 24 27 18 -5
Türkiye 22 21 18 30 +9
Brazil 19 18 20 17 -1
Germany 21 22 19 25 +2
United States 27 25 26 30 +4
Each society should decide which rights people have
India 42 31 41 54 +23
Indonesia 34 24 36 40 +16
Nigeria 30 29 34 22 -7
Türkiye 32 32 28 39 +7
Brazil 23 21 23 24 +3
Germany 25 22 25 30 +8
United States 33 30 34 37 +7
Society should decide whom to accept
India 30 23 30 37 +14
Indonesia 31 21 33 36 +14
Nigeria 29 25 34 23 -2
Türkiye 22 18 19 31 +14
Brazil 14 14 15 11 -2
Germany 21 22 20 24 +2
United States 26 23 25 30 +7
Young people defying authority is great (reversed)
India 71 74 70 73 -1
Indonesia 72 66 75 74 +8
Nigeria 69 76 70 60 -17
Türkiye 64 59 65 68 +9
Brazil 52 51 51 55 +4
Germany 55 56 53 57 +1
United States 48 45 47 52 +8
Discipline, everyone following our leaders in unity
India 75 77 72 80 +4
Indonesia 87 83 86 91 +8
Nigeria 74 81 75 65 -16
Türkiye 55 47 57 60 +13
Brazil 50 49 52 48 -1
Germany 66 65 68 65 +1
United States 60 61 58 65 +4
Old-fashioned ways and values are best
India 73 77 70 76 -1
Indonesia 66 63 66 69 +6
Nigeria 69 75 69 63 -11
Türkiye 57 51 60 59 +8
Brazil 67 62 69 68 +6
Germany 52 53 52 53 -0
United States 67 66 67 68 +2
Nothing wrong with premarital sex (reversed)
India 43 45 41 44 -1
Indonesia 43 34 44 48 +14
Nigeria 42 40 43 44 +4
Türkiye 50 43 49 58 +15
Brazil 71 64 71 78 +14
Germany 90 88 90 91 +3
United States 73 66 73 78 +12
No need for tougher government and stricter laws (reversed)
India 61 68 61 57 -11
Indonesia 57 47 60 59 +11
Nigeria 68 77 64 69 -8
Türkiye 68 60 69 75 +15
Brazil 43 44 43 43 -1
Germany 61 58 61 64 +7
United States 64 61 63 68 +7
Crack down harder on troublemakers
India 79 79 76 84 +4
Indonesia 91 88 91 95 +7
Nigeria 72 79 72 67 -12
Türkiye 73 70 73 78 +7
Brazil 71 68 73 71 +2
Germany 79 78 81 78 +1
United States 76 73 77 77 +4
Cells: % within each income group (weighted); Overall = the whole country. Income groups are each country’s own bottom 25%, middle 50% and top 25%. Top − bottom in percentage points.

PALS categories (figures only). To show PALS in the same way as the WVS figures, the questions in each block are combined into three categories. These are built from PALS questions only, with their own rules; they are not the WVS types. Respondents who skipped any question in a block are left out of that block’s figure.

  • Who decides (B01 a–e: strong leaders, elected politicians, experts, religious leaders, the military vs citizens): Citizens decide = 1–3 (citizens’ side) on all five; Others decide = 4–6 on three or more; Mixed = the rest.
  • Rule of law (B02 a–c and B06): Rule of law = 1–3 on all four; Rule-bending = 4–6 on two or more; Mixed = the rest.
  • Authoritarian values (D07 a–f, the three reversed statements flipped so that disagreeing counts as authoritarian): Less authoritarian = 0–2 authoritarian answers out of 6; Mixed = 3–4; More authoritarian = 5–6.
pals_cat <- pals_inc |>
  mutate(n_dec = B01_a + B01_b + B01_c + B01_d + B01_e,
         n_law = B02_a + B02_b + B02_c + B06,
         n_aut = (1 - D07_a) + D07_b + D07_c + (1 - D07_d) + (1 - D07_e) + D07_f,
         dec_cit = as.numeric(n_dec == 0), dec_mix = as.numeric(n_dec >= 1 & n_dec <= 2), dec_oth = as.numeric(n_dec >= 3),
         law_rol = as.numeric(n_law == 0), law_mix = as.numeric(n_law == 1), law_bend = as.numeric(n_law >= 2),
         aut_low = as.numeric(n_aut <= 2), aut_mid = as.numeric(n_aut >= 3 & n_aut <= 4), aut_high = as.numeric(n_aut >= 5))
# the three categories of each block must cover the same respondents
stopifnot(with(pals_cat, all(is.na(n_dec) | dec_cit + dec_mix + dec_oth == 1),
                         all(is.na(n_aut) | aut_low + aut_mid + aut_high == 1)))
est_cat_dec <- inc_est(pals_cat, c(dec_cit = "Citizens decide", dec_mix = "Mixed", dec_oth = "Others decide"))
est_cat_law <- inc_est(pals_cat, c(law_rol = "Rule of law", law_mix = "Mixed", law_bend = "Rule-bending"))
est_cat_aut <- inc_est(pals_cat, c(aut_low = "Less authoritarian", aut_mid = "Mixed", aut_high = "More authoritarian"))
inc_stack(est_cat_dec, pals_order,
          cols = c(`Citizens decide` = "#256abf", Mixed = "#8a8983", `Others decide` = "#e34948"),
          title = "Who decides: citizens or others, by income group, PALS 2022")

inc_stack(est_cat_law, pals_order,
          cols = c(`Rule of law` = "#256abf", Mixed = "#8a8983", `Rule-bending` = "#e34948"),
          title = "Rule of law, by income group, PALS 2022")

inc_stack(est_cat_aut, pals_order,
          cols = c(`Less authoritarian` = "#256abf", Mixed = "#8a8983", `More authoritarian` = "#e34948"),
          title = "Authoritarian values, by income group, PALS 2022")

All the PALS scores at a glance. The same numbers as the two tables above, in one figure: each row is a question, and each country has three columns (its bottom 25%, middle 50% and top 25%). Darker = a higher %. Goals: % who picked the goal; who should decide and rule of law: % on the 4–6 side; authoritarian values: % who agree (4–6), with the three reversed statements marked.

heat_d <- bind_rows(est_p_gov, est_p_dem) |>
  filter(inc_grp %in% inc_levels) |>
  mutate(item = as.character(item),
         block = case_when(grepl("^Goal:", item) ~ "Goals\n(% picked)",
                           grepl("(not citizens)", item, fixed = TRUE) ~ "Who should\ndecide\n(% 4–6)",
                           grepl("^(Government|Laws|Each society|Society)", item) ~ "Rule of law\nand tolerance\n(% 4–6)",
                           TRUE ~ "Authoritarian\nvalues\n(% agree)"),
         block = factor(block, c("Goals\n(% picked)", "Who should\ndecide\n(% 4–6)",
                                 "Rule of law\nand tolerance\n(% 4–6)", "Authoritarian\nvalues\n(% agree)")),
         grp = factor(c(`Bottom 25%` = "Bot", `Middle 50%` = "Mid", `Top 25%` = "Top")[as.character(inc_grp)],
                      c("Bot", "Mid", "Top")),
         country_name = factor(country_name, pals_order))
heat_d$item <- factor(heat_d$item, rev(unique(heat_d$item)))
ggplot(heat_d, aes(grp, item, fill = est)) +
  geom_tile(colour = "white", linewidth = 0.8) +
  geom_text(aes(label = sprintf("%.0f", est), colour = est >= 50), size = 2.9, show.legend = FALSE) +
  scale_fill_gradientn(colours = c("#f4f8fd", "#86b6ef", "#256abf", "#0d366b"), values = c(0, 0.3, 0.6, 1),
                       limits = c(0, 100), name = "%") +
  scale_colour_manual(values = c(`TRUE` = "white", `FALSE` = ink), guide = "none") +
  scale_x_discrete(position = "top") +
  facet_grid(block ~ country_name, scales = "free_y", space = "free_y", switch = "y") +
  labs(title = "PALS 2022 by income group: all questions", x = NULL, y = NULL,
       caption = "Columns: Bot = each country's own bottom 25% by household income, Mid = middle 50%, Top = top 25%. Cells: % (weighted, w2).") +
  theme_wvs() +
  theme(panel.grid = element_blank(), strip.placement = "outside",
        strip.text.x = element_text(face = "bold", colour = ink),
        strip.text.y.left = element_text(angle = 0, hjust = 1, face = "bold", colour = ink),
        axis.text.x.top = element_text(size = 8), panel.spacing.x = unit(0.5, "lines"),
        legend.position = "right", plot.caption.position = "plot", plot.title.position = "plot")

What this shows (PALS).

  • On who should decide, income matters a lot, and in India it runs against democracy. India’s top 25% are far more ready than its bottom 25% to let others decide instead of citizens: strong leaders 51% vs 27%, elected politicians 54% vs 24%, experts 60% vs 29%, religious leaders 54% vs 24%, the military 57% vs 25%. These are the largest rich-poor gaps of the seven countries. Indonesia (+16 to +20 points) and Türkiye (+9 to +14) go the same way, Germany (+6 to +9) and the United States (+2 to +8) only mildly. In Nigeria it is reversed (the poor are more willing), and in Brazil mildly so (−4 to −8, except experts +6).
  • India’s poor look like the poor elsewhere; India’s rich stand out. On strong leaders India’s bottom 25% (27%) are close to Germany’s (26%), Indonesia’s (26%) and Brazil’s (23%); India’s top 25% (51%) are the highest of any country’s rich (US 44%, Indonesia 46%, Brazil 19%). The same holds for the military (India’s rich 57%, US 44%, Germany 23%, Brazil 21%).
  • India’s rich are also less committed to the rule of law: 49% of the top 25% accept laws being enforced differently for different people, against 28% of India’s bottom 25% and 17–37% of the rich in the other countries; 54% say each society should decide which rights people have (31% of the bottom 25%).
  • Brazil shows almost no income gap on the rule of law and, with Germany, the lowest shares overall (Brazil 19–23% on the three rule-of-law items, Germany 14–25%); only 14% of Brazilians say society should decide whom to accept. Yet Brazilians most want tougher government: only 43% say there is no need for tougher government and stricter laws, against 57–68% elsewhere.
  • The United States is unusual on the military: 42–44% at every income level say the military should decide, against 17–23% in Germany.
  • On religion and morals, countries differ more than income groups: in India 41–45% at every income level see nothing wrong with premarital sex, against 88–91% in Germany; in Brazil, Türkiye, Indonesia and the United States the rich are more accepting (+12 to +15). 10–19% of Germans want religious leaders to decide, against 24–54% of Indians.
  • Caution: India was interviewed face to face, while most other countries were surveyed online.