Interactive mode: click a code block or Show Plot button to reveal/hide its corresponding plot.
This document provides a comprehensive review of the topics covered this semester, including data loading, wrangling, summarization, visualization, and regression. We will perform an exploratory data analysis (EDA) and a simple regression on the American National Election Studies (ANES) 2020 dataset.
First, we need to load the necessary packages. The
tidyverse package is a collection of R packages designed
for data science, including dplyr for data manipulation and
ggplot2 for visualization.
# If you haven't installed it yet, uncomment and run the line below
# if (FALSE) install.packages("tidyverse")
library(tidyverse)
We will load the ANES 2020 dataset directly from a public URL. This
ensures our analysis is reproducible. We use read_csv from
the readr package (part of tidyverse) which is
generally faster and more reliable than the base R
read.csv.
# URL for the ANES 2020 dataset
anes_data <- readRDS("anes_pilot_2020.RDS")
haven::write_dta(anes_data,"anes_pilot_2020.dta")
saveRDS(anes_data,"anes_pilot_2020.RDS")
write.csv(anes_data,"anes_pilot_2020.csv")
Before diving into analysis, let’s get a first look at our data. We
can use functions like glimpse() to see the structure and
summary() for a statistical overview.
# Glimpse shows variable types and first few values
glimpse(anes_data)
## Rows: 3,080
## Columns: 470
## $ V1 <dbl> 1451, 2875, 859, 2031, 587, 183, 1366, 1194, 2356, 2049, 1174, 2050, …
## $ StartDate <chr> "4/12/2020 17:04", "4/16/2020 10:14", "4/17/2020 21:34", "4/16/2020 1…
## $ EndDate <chr> "4/12/2020 17:23", "4/16/2020 11:06", "4/17/2020 22:32", "4/16/2020 1…
## $ `_v1` <dbl> 1131, 3170, 3490, 3885, 2330, 1435, 4856, 2971, 1550, 4661, 3228, 416…
## $ RecordedDate <chr> "4/12/2020 17:23", "4/16/2020 11:06", "4/17/2020 22:32", "4/16/2020 1…
## $ ResponseId <chr> "R_3oBJppI62KNh4MC", "R_1jdLlxoKBpgExZS", "R_ClTXw6WOcfMOLWp", "R_3sj…
## $ qmetadata_Browser <chr> "Chrome", "Firefox", "Chrome", "Chrome", "Chrome", "Chrome", "Safari …
## $ qmetadata_Version <chr> "81.0.4044.96", "52", "81.0.4044.111", "78.0.3904.96", "80.0.3987.132…
## $ `_v2` <chr> "Android 9", "Windows NT 5.1", "Android 9", "Android 7.1.1", "Windows…
## $ qmetadata_Resolution <chr> "360x760", "1024x768", "360x760", "320x570", "1920x1080", "1536x864",…
## $ follow <dbl+lbl> 1, 2, 2, 2, 4, 2, 3, 1, 1, 2, 1, 2, 4, 3, 1, 2, 2, 1, 1, 1, 1, 1,…
## $ reg1 <dbl+lbl> 1, 1, 4, 1, 1, 3, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,…
## $ votemail1a <dbl+lbl> 4, 5, 4, 6, 1, 1, 4, 7, 2, 1, 1, 2, 4, 1, 1, 4, 2, 2, 1, 3, 2, 4,…
## $ votemail1b <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ votecount <dbl+lbl> 4, 3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 3, 3, 3, 3, 4, 3, 3, 4, 2, 4,…
## $ votemail2 <dbl+lbl> 4, 4, 3, 4, 2, 2, 4, 5, 2, 3, 1, 2, 3, 3, 2, 3, 2, 2, 4, 3, 2, 2,…
## $ voterid1 <dbl+lbl> 1, 1, 1, 1, 1, 3, 2, 3, 2, 1, 3, 1, 3, 3, 1, 1, 1, 1, 1, 2, 3, 1,…
## $ voterid2 <dbl+lbl> 2, 1, 1, 1, 2, 7, 7, 7, 7, 1, 7, 1, 7, 7, 3, 3, 1, 1, 1, 7, 7, 1,…
## $ turnout16a <dbl+lbl> 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1,…
## $ turnout16a1 <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ turnout16b <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ vote16 <dbl+lbl> 1, 1, 4, 1, 2, 4, 2, 4, 2, 1, 2, 2, 2, 1, 2, 1, 2, 4, 1, 1, 4, 1,…
## $ hopeful <dbl+lbl> 3, 4, 1, 4, 3, 1, 2, 3, 2, 3, 1, 5, 2, 3, 1, 2, 3, 2, 3, 3, 3, 2,…
## $ afraid <dbl+lbl> 2, 1, 5, 2, 2, 2, 4, 2, 5, 3, 5, 4, 3, 4, 3, 3, 1, 4, 3, 2, 2, 3,…
## $ outraged <dbl+lbl> 1, 1, 5, 1, 1, 1, 3, 3, 5, 4, 5, 4, 1, 3, 4, 2, 1, 3, 3, 1, 1, 1,…
## $ angry <dbl+lbl> 1, 1, 5, 2, 1, 1, 3, 2, 5, 3, 5, 2, 2, 2, 4, 2, 1, 3, 2, 1, 2, 2,…
## $ happy <dbl+lbl> 3, 4, 1, 2, 2, 1, 3, 1, 2, 3, 1, 1, 3, 4, 1, 3, 3, 2, 2, 4, 4, 1,…
## $ worried <dbl+lbl> 3, 3, 5, 2, 2, 2, 3, 2, 5, 4, 5, 3, 3, 4, 4, 3, 2, 4, 3, 2, 2, 3,…
## $ proud <dbl+lbl> 4, 4, 1, 3, 2, 1, 4, 2, 1, 4, 1, 1, 1, 3, 1, 3, 2, 1, 2, 4, 4, 1,…
## $ irritated <dbl+lbl> 1, 1, 5, 2, 1, 1, 3, 5, 5, 3, 5, 4, 1, 3, 5, 2, 4, 4, 4, 2, 4, 3,…
## $ nervous <dbl+lbl> 2, 2, 5, 1, 3, 3, 3, 5, 5, 3, 5, 4, 3, 4, 4, 3, 1, 5, 3, 2, 2, 3,…
## $ meeting <dbl+lbl> 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ moneyorg <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ protest <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ online <dbl+lbl> 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
## $ persuade <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,…
## $ button <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,…
## $ moneycand <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
## $ argument <dbl+lbl> 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0,…
## $ particip_none <dbl+lbl> 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0,…
## $ talk1 <dbl+lbl> 6, 2, 5, 2, 0, 2, 0, 7, 5, 7, 5, 4, 0, 2, 6, 0, 2, 0, 3, 3, 3, 7,…
## $ talk2 <dbl+lbl> 3, 5, 4, 4, 2, 2, 4, 3, 4, 4, 2, 4, 4, 4, 6, 4, 7, 6, 4, 2, 4, 4,…
## $ talk3 <dbl+lbl> 4, 5, 4, 4, 2, 1, 4, 5, 4, 4, 4, 1, 4, 4, 2, 4, 5, 3, 5, 5, 4, 4,…
## $ fttrump1 <dbl+lbl> 80, 85, 999, 80, 0, 35, 30, 60, 0, 1, 0, 1, 90, …
## $ ftobama1 <dbl+lbl> 75, 15, 999, 50, 100, 5, 90, 50, 85, 85, 100, 90, 85, …
## $ ftbiden1 <dbl+lbl> 65, 20, 0, 55, 90, 10, 40, 0, 75, 95, 80, 80, 75, …
## $ ftwarren1 <dbl+lbl> 999, 20, 999, 999, 0, 7, 30, 0, 90, 50, 75, 50, 75, …
## $ ftsanders1 <dbl+lbl> 50, 15, 20, 55, 55, 95, 45, 0, 65, 60, 10, 40, 20, 78, 89, 50, 8…
## $ ftbuttigieg1 <dbl+lbl> 999, 20, 999, 999, 0, 40, 20, 0, 70, 65, 70, 70, 0, …
## $ ftharris1 <dbl+lbl> 999, 20, 999, 999, 50, 6, 20, 0, 70, 60, 90, 25, 0, …
## $ ftklobuchar1 <dbl+lbl> 999, 30, 999, 999, 0, 7, 10, 0, 70, 0, 85, 10, 0, …
## $ ftpence1 <dbl+lbl> 70, 70, 20, 80, 0, 50, 29, 0, 0, 60, 0, 0, 90, 45, 0, 50, …
## $ ftyang1 <dbl+lbl> 999, 30, 30, 999, 0, 65, 25, 0, 25, 60, 40, 4, 50, …
## $ ftpelosi1 <dbl+lbl> 40, 0, 0, 12, 70, 35, 40, 0, 85, 80, 90, 50, 0, …
## $ ftrubio1 <dbl+lbl> 999, 20, 0, 35, 0, 30, 60, 0, 5, 60, 0, 50, 999, …
## $ ftocasioc1 <dbl+lbl> 999, 20, 40, 15, 0, 85, 50, 0, 90, 50, 35, 0, 999, …
## $ fthaley1 <dbl+lbl> 999, 20, 20, 999, 0, 50, 40, 0, 5, 50, 0, 10, 999, …
## $ ftthomas1 <dbl+lbl> 999, 15, 10, 30, 0, 50, 40, 0, 0, 50, 0, 5, 999, …
## $ ftfauci1 <dbl+lbl> 999, 80, 0, 90, 95, 30, 30, 0, 100, 50, 99, 10, 50, …
## $ ftblack <dbl+lbl> 100, 30, 50, 50, 100, 15, 60, 40, 95, 80, 95, 85, 85, …
## $ ftwhite <dbl+lbl> 100, 80, 50, 50, 45, 40, 60, 80, 95, 80, 95, 80, 85, …
## $ fthisp <dbl+lbl> 100, 50, 50, 50, 55, 55, 30, 50, 90, 50, 95, 50, 85, …
## $ ftasian <dbl+lbl> 100, 20, 50, 50, 30, 65, 25, 60, 90, 50, 95, 20, 85, …
## $ ftillegal <dbl+lbl> 95, 10, 50, 5, 20, 30, 0, 0, 80, 0, 70, 50, 85, …
## $ ftfeminists <dbl+lbl> 100, 20, 20, 25, 10, 0, 25, 0, 90, 70, 100, 75, 85, …
## $ ftmetoo <dbl+lbl> 100, 20, 30, 35, 10, 1, 20, 0, 70, 25, 95, 20, 999, …
## $ fttransppl <dbl+lbl> 100, 20, 30, 40, 0, 3, 20, 0, 70, 80, 100, 80, 999, …
## $ ftsocialists <dbl+lbl> 90, 30, 10, 40, 0, 90, 30, 50, 30, 50, 50, 50, 999, …
## $ ftcapitalists <dbl+lbl> 999, 60, 10, 50, 0, 70, 20, 20, 40, 50, 60, 0, 999, …
## $ ftbigbusiness <dbl+lbl> 999, 20, 0, 70, 50, 50, 35, 20, 35, 30, 10, 5, 50, …
## $ ftlaborunions <dbl+lbl> 999, 0, 10, 50, 90, 50, 20, 0, 85, 65, 90, 50, 65, …
## $ ftrepublicanparty <dbl+lbl> 999, 80, 0, 80, 0, 70, 10, 0, 10, 30, 0, 5, 999, …
## $ ftdemocraticparty <dbl+lbl> 999, 10, 0, 36, 95, 40, 25, 0, 90, 80, 100, 80, 999, …
## $ primaryvote <dbl+lbl> 2, 2, 3, 3, 1, 3, 2, 3, 2, 3, 1, 3, 3, 2, 1, 3, 1, 1, 2, 2, 3, 1,…
## $ vote20jb <dbl+lbl> 1, 1, 4, 1, 2, 1, 2, 4, 2, 2, 2, 2, 1, 2, 2, 3, 2, 2, 1, 2, 1, 2,…
## $ vote20bs <dbl+lbl> 1, 1, 4, 1, 2, 2, 2, 4, 2, 2, 2, 2, 1, 2, 2, 3, 2, 2, 1, 1, 1, 3,…
## $ cvote2020 <dbl+lbl> 1, 2, 4, 2, 1, 2, 1, 4, 1, 1, 1, 1, 5, 2, 1, 3, 1, 1, 2, 1, 2, 5,…
## $ apppres7 <dbl+lbl> 1, 2, 7, 2, 7, 4, 4, 2, 7, 7, 7, 7, 2, 7, 7, 3, 7, 7, 3, 3, 2, 7,…
## $ frnpres7 <dbl+lbl> 1, 2, 7, 3, 6, 4, 4, 1, 7, 6, 7, 4, 3, 7, 7, 3, 7, 7, 4, 3, 3, 4,…
## $ immpres7 <dbl+lbl> 5, 1, 7, 1, 7, 3, 5, 4, 7, 6, 7, 5, 3, 4, 7, 3, 7, 7, 2, 2, 1, 1,…
## $ econpres7 <dbl+lbl> 3, 2, 7, 2, 6, 3, 4, 1, 7, 6, 6, 4, 2, 4, 7, 3, 7, 7, 2, 3, 3, 3,…
## $ covidpres7 <dbl+lbl> 1, 1, 7, 2, 6, 5, 3, 5, 7, 7, 7, 6, 1, 4, 7, 3, 7, 7, 3, 5, 5, 7,…
## $ healthcarepres7 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ check <dbl+lbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
## $ dtleader1 <dbl+lbl> 1, 1, 5, 3, 5, 5, 4, 1, 5, 5, 5, 5, 2, 5, 5, 5, 5, 5, 3, 5, 2, 3,…
## $ dtleader2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ dtcares <dbl+lbl> 2, 3, 5, 1, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 4, 2, 4, 5,…
## $ dtdignif <dbl+lbl> 2, 1, 5, 4, 5, 5, 2, 3, 5, 5, 5, 4, 5, 5, 5, 4, 5, 5, 3, 4, 5, 5,…
## $ dthonest <dbl+lbl> 1, 3, 5, 2, 5, 2, 2, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 5,…
## $ dtauth <dbl+lbl> 2, 1, 5, 2, 5, 3, 2, 1, 5, 5, 5, 4, 5, 5, 5, 4, 5, 5, 4, 4, 5, 4,…
## $ dtdiv <dbl+lbl> 3, 1, 1, 3, 5, 1, 2, 3, 1, 5, 1, 4, 5, 5, 1, 4, 1, 2, 3, 3, 2, 3,…
## $ dtknow <dbl+lbl> 2, 2, 5, 3, 5, 5, 1, 2, 5, 5, 5, 5, 2, 5, 5, 4, 5, 5, 2, 4, 3, 4,…
## $ jbleader1 <dbl+lbl> 3, 4, 5, 3, 2, 4, 3, 5, 2, 1, 2, 2, 2, 2, 1, 4, 2, 3, 4, 3, 5, 3,…
## $ jbleader2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ jbcares <dbl+lbl> 3, 4, 5, 3, 2, 5, 3, 5, 1, 2, 1, 1, 4, 2, 2, 4, 2, 3, 4, 3, 5, 3,…
## $ jbdignif <dbl+lbl> 2, 5, 5, 4, 1, 5, 1, 3, 1, 1, 2, 3, 2, 2, 2, 4, 2, 4, 3, 3, 3, 1,…
## $ jbhonest <dbl+lbl> 3, 5, 3, 4, 2, 5, 3, 3, 2, 1, 2, 2, 4, 2, 2, 5, 2, 2, 4, 3, 4, 3,…
## $ jbauth <dbl+lbl> 3, 4, 3, 5, 2, 5, 2, 4, 2, 2, 1, 2, 4, 2, 2, 5, 2, 3, 3, 3, 5, 2,…
## $ jbdiv <dbl+lbl> 3, 4, 4, 3, 1, 4, 3, 4, 4, 2, 5, 1, 4, 2, 3, 4, 4, 4, 4, 3, 3, 3,…
## $ jbknow <dbl+lbl> 2, 5, 3, 3, 1, 5, 4, 3, 3, 1, 2, 2, 2, 2, 2, 4, 2, 3, 2, 3, 4, 2,…
## $ bsleader1 <dbl+lbl> 2, 5, 5, 3, 3, 1, 1, 5, 2, 2, 3, 3, 5, 3, 2, 5, 2, 1, 3, 4, 4, 1,…
## $ bsleader2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ bscares <dbl+lbl> 4, 5, 2, 4, 4, 1, 2, 5, 1, 2, 3, 1, 5, 3, 1, 5, 2, 1, 4, 4, 3, 5,…
## $ bsdignif <dbl+lbl> 3, 5, 3, 2, 3, 1, 2, 5, 4, 2, 4, 3, 5, 3, 3, 5, 2, 2, 4, 4, 3, 5,…
## $ bshonest <dbl+lbl> 2, 5, 3, 3, 3, 1, 3, 5, 1, 2, 3, 2, 5, 2, 1, 5, 2, 1, 4, 4, 4, 3,…
## $ bsauth <dbl+lbl> 4, 5, 3, 3, 3, 1, 2, 5, 1, 2, 3, 3, 5, 2, 1, 5, 2, 1, 3, 4, 2, 3,…
## $ bsdiv <dbl+lbl> 4, 4, 5, 3, 3, 5, 2, 5, 2, 2, 3, 1, 5, 3, 2, 5, 3, 4, 4, 4, 3, 2,…
## $ bsknow <dbl+lbl> 4, 4, 4, 2, 3, 1, 2, 5, 3, 1, 2, 2, 5, 2, 2, 5, 2, 1, 2, 4, 4, 2,…
## $ econnow <dbl+lbl> 2, 2, 5, 5, 5, 4, 4, 5, 5, 4, 5, 3, 5, 5, 4, 5, 5, 4, 4, 4, 4, 5,…
## $ finworry <dbl+lbl> 2, 2, 5, 4, 4, 2, 3, 5, 4, 3, 5, 4, 2, 5, 4, 5, 3, 3, 2, 2, 2, 3,…
## $ confecon <dbl+lbl> 2, 2, 5, 3, 4, 3, 3, 5, 5, 3, 5, 4, 5, 5, 4, 5, 4, 3, 5, 3, 4, 3,…
## $ taxecon <dbl+lbl> 4, 2, 3, 3, 5, 5, 4, 3, 3, 3, 7, 3, 4, 7, 7, 4, 4, 4, 4, 3, 1, 3,…
## $ billtax1 <dbl+lbl> 4, 5, 6, 2, 1, 1, 4, 7, 1, 6, 2, 3, 1, 2, 2, 4, 1, 1, 3, 1, 5, 4,…
## $ billtax2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ richpoor2 <dbl+lbl> 2, 3, 2, 3, 2, 3, 4, 4, 1, 2, 2, 2, 3, 1, 1, 2, 1, 1, 3, 1, 4, 4,…
## $ guarinc1 <dbl+lbl> 4, 2, 4, 3, 2, 5, 4, 3, 7, 2, 4, 2, 4, 4, 3, 7, 4, 1, 3, 3, 1, 7,…
## $ guarinc2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ lcself <dbl+lbl> 4, 6, 4, 4, 4, 3, 4, 1, 2, 4, 1, 4, 4, 4, 2, 4, 4, 1, 4, 5, 5, 2,…
## $ lcd <dbl+lbl> 2, 2, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 3, 4, 2, 4, 2, 3, 3, 3, 1, 6,…
## $ lcr <dbl+lbl> 2, 7, 6, 6, 6, 6, 2, 4, 6, 4, 7, 6, 5, 4, 7, 4, 7, 7, 3, 2, 6, 2,…
## $ freemkt1a <dbl+lbl> 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,…
## $ freemkt1b <dbl+lbl> 2, 2, 2, 2, 3, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 3,…
## $ freemkt2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ freemkt3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ govsize1a <dbl+lbl> 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1,…
## $ govsize1b <dbl+lbl> 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2,…
## $ govsize2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ govsize3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ regulate1 <dbl+lbl> 3, 3, 3, 2, 3, 2, 3, 4, 3, 3, 3, 2, 4, 3, 2, 3, 3, 2, 2, 3, 4, 4,…
## $ regulate2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ ineqinc1a <dbl+lbl> 4, 3, 2, 3, 3, 2, 4, 4, 1, 2, 3, 1, 4, 1, 2, 3, 1, 1, 4, 1, 2, 7,…
## $ strpres1a <dbl+lbl> 2, 1, 7, 1, 5, 3, 3, 6, 4, 4, 3, 6, 3, 2, 6, 3, 7, 6, 1, 1, 1, 7,…
## $ strpres1b <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ mutual <dbl+lbl> 2, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,…
## $ leastgrp <dbl+lbl> 9, 4, 2, 3, 6, 4, 2, 5, 5, 5, 2, 9, 2, 7, 5, 1, …
## $ tol_rally <dbl+lbl> 3, 7, 4, 3, 7, 7, 7, 4, 4, 4, 4, 7, 5, 7, 5, 4, 4, 6, 6, 5, 4, 7,…
## $ tol_pres <dbl+lbl> 4, 1, 1, 4, 7, 2, 1, 7, 4, 2, 1, 3, 7, 1, 1, 5, 3, 1, 7, 5, 1, 7,…
## $ tol_teach <dbl+lbl> 1, 5, 4, 4, 7, 7, 4, 4, 4, 4, 7, 7, 7, 7, 7, 5, 7, 7, 5, 7, 2, 7,…
## $ antirelig1 <dbl+lbl> 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2,…
## $ antirelig2 <dbl+lbl> 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 2,…
## $ racist1 <dbl+lbl> 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2,…
## $ racist2 <dbl+lbl> 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2,…
## $ immignum <dbl+lbl> 3, 6, 3, 7, 7, 4, 4, 7, 4, 6, 3, 4, 4, 7, 2, 7, 3, 4, 6, 7, 7, 7,…
## $ wall7 <dbl+lbl> 3, 1, 7, 1, 7, 5, 4, 4, 7, 7, 7, 7, 4, 1, 7, 1, 7, 7, 1, 1, 5, 4,…
## $ pathway <dbl+lbl> 2, 1, 1, 3, 2, 1, 2, 1, 1, 1, 1, 2, 2, 5, 1, 4, 1, 1, 3, 2, 4, 3,…
## $ return <dbl+lbl> 4, 1, 5, 1, 3, 1, 2, 4, 4, 1, 4, 1, 4, 1, 5, 2, 4, 5, 1, 5, 1, 1,…
## $ open <dbl+lbl> 3, 2, 1, 5, 3, 3, 1, 1, 1, 2, 2, 3, 4, 5, 1, 5, 3, 1, 4, 5, 5, 5,…
## $ affact <dbl+lbl> 4, 4, 4, 4, 6, 4, 4, 7, 4, 4, 1, 4, 4, 7, 3, 6, 4, 4, 4, 6, 7, 7,…
## $ hlthcare1 <dbl+lbl> 4, 3, 3, 3, 6, 1, 3, 1, 4, 2, 2, 6, 4, 4, 2, 2, 3, 1, 3, 1, 7, 2,…
## $ hlthcare2 <dbl+lbl> 2, 2, 4, 5, 3, 2, 3, 5, 4, 3, 5, 3, 3, 3, 5, 2, 1, 3, 4, 1, 2, 1,…
## $ covid1 <dbl+lbl> 5, 4, 3, 3, 3, 5, 3, 4, 1, 3, 4, 2, 4, 3, 2, 3, 5, 3, 1, 4, 3, 2,…
## $ covid2 <dbl+lbl> 2, 3, 2, 3, 3, 3, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 4, 1, 3, 3, 2,…
## $ covid_elect <dbl+lbl> 3, 2, 2, 2, 3, 3, 4, 4, 3, 3, 2, 4, 4, 4, 3, 2, 3, 3, 3, 3, 2, 3,…
## $ abort1 <dbl+lbl> 4, 4, 2, 4, 4, 2, 1, 4, 4, 4, 4, 4, 1, 4, 4, 4, 2, 4, 2, 1, 4, 4,…
## $ abort_imp <dbl+lbl> 2, 3, 3, 4, 5, 1, 4, 4, 1, 4, 1, 4, 1, 1, 2, 2, 3, 1, 4, 1, 3, 5,…
## $ abort2 <dbl+lbl> 3, 7, 3, 5, 4, 2, 4, 6, 7, 4, 7, 4, 7, 7, 7, 6, 4, 7, 4, 1, 6, 4,…
## $ gayadopt <dbl+lbl> 4, 2, 4, 4, 7, 5, 2, 4, 1, 2, 1, 2, 4, 7, 1, 2, 1, 1, 6, 2, 2, 4,…
## $ transmilit1a <dbl+lbl> 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1,…
## $ transmilit1b <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ harass <dbl+lbl> 3, 2, 2, 2, 1, 1, 3, 2, 3, 1, 3, 1, 2, 3, 5, 2, 5, 3, 2, 3, 2, 3,…
## $ freecol1 <dbl+lbl> 4, 4, 4, 4, 7, 1, 4, 1, 2, 4, 4, 4, 3, 4, 3, 6, 6, 2, 4, 1, 6, 7,…
## $ freecol2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ loans1 <dbl+lbl> 4, 5, 4, 3, 7, 1, 4, 1, 5, 6, 6, 3, 1, 4, 3, 6, 6, 1, 7, 3, 6, 6,…
## $ loans2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ diversity7 <dbl+lbl> 4, 5, 2, 4, 6, 4, 3, 5, 1, 6, 1, 3, 2, 4, 1, 3, 4, 1, 4, 5, 3, 6,…
## $ experts <dbl+lbl> 3, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 3, 3, 1, 5, 3, 4, 5, 3, 3, 1, 1,…
## $ science <dbl+lbl> 3, 2, 4, 4, 4, 4, 3, 2, 4, 4, 5, 3, 2, 3, 5, 2, 4, 5, 2, 2, 5, 5,…
## $ exphelp <dbl+lbl> 3, 3, 4, 5, 3, 4, 3, 2, 4, 4, 3, 3, 3, 3, 5, 3, 4, 4, 2, 4, 4, 5,…
## $ excessive <dbl+lbl> 3, 3, 3, 2, 2, 2, 3, 2, 3, 3, 4, 3, 2, 5, 4, 3, 2, 4, 3, 3, 4, 2,…
## $ compro1 <dbl+lbl> 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2,…
## $ compro2 <dbl+lbl> 3, 4, 2, 3, 5, 3, 3, 3, 4, 3, 1, 2, 3, 5, 2, 2, 2, 3, 3, 2, 4, 3,…
## $ pcorrect <dbl+lbl> 2, 3, 4, 4, 2, 4, 3, 4, 2, 2, 2, 3, 4, 1, 2, 2, 1, 2, 4, 1, 2, 3,…
## $ selfcensor <dbl+lbl> 3, 3, 3, 4, 3, 3, 2, 1, 3, 2, 1, 2, 3, 1, 3, 1, 1, 1, 3, 4, 3, 2,…
## $ childrear1 <dbl+lbl> 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2,…
## $ childrear2 <dbl+lbl> 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2,…
## $ childrear3 <dbl+lbl> 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1,…
## $ childrear4 <dbl+lbl> 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1,…
## $ rural2 <dbl+lbl> 4, 5, 5, 7, 5, 5, 3, 6, 3, 5, 5, 3, 4, 4, 4, 5, 6, 2, 4, 4, 4, 6,…
## $ rural3 <dbl+lbl> 4, 5, 2, 7, 4, 5, 3, 6, 3, 5, 1, 4, 4, 4, 3, 6, 6, 1, 4, 4, 5, 6,…
## $ rural4 <dbl+lbl> 3, 5, 3, 5, 4, 5, 4, 5, 5, 6, 4, 4, 4, 4, 4, 5, 6, 4, 4, 4, 4, 6,…
## $ mis_covid1 <dbl+lbl> 2, 2, 2, 2, 2, 2, 2, 1, 2, 9, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2,…
## $ conf_covid1 <dbl+lbl> 3, 4, 3, 1, 3, 3, 4, 5, 5, 9, 5, 3, 4, 1, 5, 3, 5, 4, 2, 2, 4, 3,…
## $ mis_covid2 <dbl+lbl> 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ conf_covid2 <dbl+lbl> 5, 4, 4, 2, 4, 4, 4, 4, 5, 4, 5, 2, 2, 5, 5, 3, 5, 4, 3, 4, 4, 3,…
## $ impeach1 <dbl+lbl> 4, 7, 2, 7, 1, 6, 3, 5, 1, 1, 1, 1, 7, 4, 1, 7, 1, 1, 4, 6, 7, 2,…
## $ impeach2 <dbl+lbl> 4, 1, 5, 1, 7, 1, 5, 3, 7, 7, 7, 1, 1, 4, 7, 1, 7, 7, 3, 2, 1, 6,…
## $ pid1r <dbl+lbl> 1, 1, 4, 1, 2, 2, 3, 4, 2, 2, 2, 2, 2, 1, 2, 3, 3, 2, 1, 2, 1, 3,…
## $ pid2r <dbl+lbl> 66, 66, 99, 66, 66, 66, 66, 99, 66, 66, 66, 66, 66, 66, 66, 66, 6…
## $ pidstr <dbl+lbl> 2, 1, 6, 1, 1, 2, 6, 6, 1, 2, 1, 1, 2, 2, 1, 6, 6, 1, 2, 1, 1, 6,…
## $ pidlean <dbl+lbl> 6, 6, 3, 6, 6, 6, 2, 3, 6, 6, 6, 6, 6, 6, 6, 3, 2, 6, 6, 6, 6, 3,…
## $ pidstr1 <dbl+lbl> 3, 3, 6, 3, 5, 4, 3, 6, 4, 4, 1, 5, 5, 3, 2, 5, 2, 3, 4, 2, 3, 4,…
## $ pidstr2 <dbl+lbl> 3, 3, 6, 1, 1, 2, 3, 6, 2, 3, 4, 4, 1, 3, 2, 3, 2, 3, 3, 2, 1, 2,…
## $ pidstr3 <dbl+lbl> 3, 3, 6, 1, 1, 2, 3, 6, 4, 3, 4, 4, 1, 3, 3, 1, 2, 3, 1, 3, 2, 2,…
## $ rr1 <dbl+lbl> 3, 1, 3, 1, 5, 1, 3, 1, 4, 1, 5, 1, 1, 5, 5, 3, 2, 5, 1, 1, 5, 1,…
## $ rr2 <dbl+lbl> 4, 5, 2, 4, 5, 5, 2, 1, 2, 3, 1, 2, 4, 1, 1, 3, 2, 1, 3, 4, 1, 5,…
## $ rr3 <dbl+lbl> 3, 5, 2, 4, 1, 4, 3, 3, 2, 4, 1, 2, 4, 2, 2, 3, 2, 1, 4, 5, 4, 5,…
## $ rr4 <dbl+lbl> 3, 1, 3, 2, 5, 2, 3, 2, 4, 2, 5, 2, 2, 4, 5, 3, 4, 5, 1, 1, 4, 1,…
## $ health1 <dbl+lbl> 3, 3, 2, 1, 3, 5, 2, 3, 5, 3, 3, 2, 3, 3, 3, 3, 2, 3, 2, 2, 5, 3,…
## $ relig1 <dbl+lbl> 1, 1, 12, 1, 11, 11, 11, 11, 10, 12, 12, 12, 11, 1, 1, 12, …
## $ relig1_11_TEXT <chr> "", "", "", "", "baptist", "Christian", "Christian", "Vampire", "", "…
## $ relig2a <dbl+lbl> 6, 6, 3, 6, 6, 6, 6, 6, 6, 3, 2, 3, 6, 6, 6, 3, 6, 6, 3, 6, 6, 6,…
## $ relig2b <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ att1 <dbl+lbl> 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2,…
## $ att2 <dbl+lbl> 4, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 4, 2, 1, 6, 4, 1, 6, 6, 6, 6, 6,…
## $ att3 <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 1, 6, 6, 6, 6, 6,…
## $ fundmt1 <dbl+lbl> 2, 1, 6, 2, 2, 2, 2, 1, 6, 6, 6, 6, 2, 2, 2, 6, 2, 6, 6, 2, 6, 2,…
## $ fundmt2 <dbl+lbl> 6, 3, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ socmed_1 <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1,…
## $ socmed_2 <dbl+lbl> 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,…
## $ socmed_3 <dbl+lbl> 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,…
## $ socmed_4 <dbl+lbl> 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
## $ socmed_5 <dbl+lbl> 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0,…
## $ socmed_6 <dbl+lbl> 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
## $ socmed_7 <dbl+lbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,…
## $ socmed_8 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ socmed_9 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,…
## $ facebook1 <dbl+lbl> 1, 2, 2, 1, 5, 5, 1, 3, 6, 2, 66, 2, 1, 66, 2, 66, …
## $ twitter1 <dbl+lbl> 66, 66, 66, 7, 66, 66, 66, 1, 66, 66, 1, 7, 66, 66, 66, 66, 6…
## $ impact1 <dbl+lbl> 4, 5, 4, 5, 4, 3, 4, 4, 2, 6, 4, 6, 7, 4, 4, 4, 7, 4, 5, 2, 3, 4,…
## $ impact2 <dbl+lbl> 3, 3, 3, 4, 5, 5, 4, 2, 3, 4, 2, 3, 2, 3, 3, 5, 2, 3, 2, 3, 5, 4,…
## $ impact3 <dbl+lbl> 3, 4, 3, 3, 4, 3, 4, 1, 2, 5, 2, 3, 3, 3, 3, 5, 5, 4, 3, 2, 3, 4,…
## $ impact4 <dbl+lbl> 3, 2, 4, 5, 5, 4, 4, 4, 4, 5, 4, 4, 4, 3, 3, 5, 3, 4, 4, 5, 3, 4,…
## $ impact5 <dbl+lbl> 3, 5, 4, 4, 5, 3, 5, 1, 4, 5, 4, 4, 5, 3, 3, 5, 3, 4, 4, 4, 3, 4,…
## $ impact6 <dbl+lbl> 3, 4, 4, 5, 5, 4, 4, 5, 4, 4, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 3, 5,…
## $ impact7 <dbl+lbl> 3, 3, 3, 3, 5, 5, 4, 3, 1, 4, 1, 3, 3, 4, 2, 4, 5, 3, 3, 4, 3, 4,…
## $ impact8 <dbl+lbl> 3, 3, 4, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 4, 4, 5, 5, 3, 5, 5, 2, 5,…
## $ impact9 <dbl+lbl> 3, 3, 5, 5, 5, 5, 5, 4, 4, 5, 4, 4, 5, 3, 5, 5, 5, 5, 5, 5, 4, 5,…
## $ ethnic1 <chr> "White", "irish", "Irish", "Scotch Irish", "african", "Mexican", "Ame…
## $ ethnic2 <chr> "777. NA: Form 1", "777. NA: Form 1", "777. NA: Form 1", "777. NA: Fo…
## $ ethnic3 <dbl+lbl> 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, …
## $ latin1 <dbl+lbl> 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2,…
## $ race1a_1 <dbl+lbl> 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ race1a_2 <dbl+lbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1a_3 <dbl+lbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1a_4 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1a_5 <dbl+lbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1b_1 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ race1b_2 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ race1b_3 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ race1b_4 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ race1b_5 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1a_lat <dbl+lbl> 6, 6, 3, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 4, 6, 6, 6, 6, 3, 6, 6, 6,…
## $ groupid2a_lat <dbl+lbl> 6, 6, 2, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 2, 6, 6, 6, 6, 3, 6, 6, 6,…
## $ groupid3a_lat <dbl+lbl> 6, 6, 2, 6, 6, 4, 6, 6, 6, 6, 6, 6, 6, 2, 6, 6, 6, 6, 2, 6, 6, 6,…
## $ groupid1a_whi <dbl+lbl> 4, 4, 4, 4, 6, 6, 5, 3, 4, 4, 3, 6, 4, 4, 4, 3, 5, 3, 4, 5, 1, 4,…
## $ groupid1a_bla <dbl+lbl> 6, 6, 6, 6, 4, 6, 6, 6, 6, 6, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid1a_nat <dbl+lbl> 6, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid1a_asi <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid1a_hpi <dbl+lbl> 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid2a_whi <dbl+lbl> 4, 5, 1, 4, 6, 6, 3, 4, 4, 3, 2, 6, 3, 4, 1, 3, 1, 2, 3, 2, 2, 2,…
## $ groupid2a_bla <dbl+lbl> 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid2a_nat <dbl+lbl> 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid2a_asi <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid2a_hpi <dbl+lbl> 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid3a_whi <dbl+lbl> 5, 4, 2, 3, 6, 6, 3, 2, 4, 3, 2, 6, 2, 3, 1, 1, 1, 2, 3, 2, 4, 2,…
## $ groupid3a_bla <dbl+lbl> 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid3a_nat <dbl+lbl> 6, 6, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid3a_asi <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid3a_hpi <dbl+lbl> 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ groupid1b_lat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_lat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_lat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1b_whi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1b_bla <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1b_nat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1b_asi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid1b_hpi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_whi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_bla <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_nat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_asi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid2b_hpi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_whi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_bla <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_nat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_asi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ groupid3b_hpi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ whitejob <dbl+lbl> 3, 3, 2, 4, 6, 6, 2, 2, 2, 3, 1, 6, 4, 4, 1, 2, 1, 1, 2, 4, 1, 2,…
## $ femid1a <dbl+lbl> 3, 3, 2, 3, 3, 3, 3, 3, 1, 3, 1, 3, 3, 1, 1, 3, 3, 1, 3, 3, 1, 3,…
## $ femid1b <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ femid2_fem <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 3, 6, 6, 3, 2, 6, 6, 2, 6, 6, 3, 6,…
## $ femid2_anti <dbl+lbl> 6, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ femid2_nei <dbl+lbl> 3, 2, 6, 5, 5, 3, 4, 1, 6, 3, 6, 5, 5, 6, 6, 5, 5, 6, 1, 5, 6, 5,…
## $ knowtran1 <dbl+lbl> 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2,…
## $ knowtran2_1 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
## $ knowtran2_2 <dbl+lbl> 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowtran2_3 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowtran2_4 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowtran2_5 <dbl+lbl> 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,…
## $ knowtran2_6 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowgay1 <dbl+lbl> 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2,…
## $ knowgay2_1 <dbl+lbl> 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,…
## $ knowgay2_2 <dbl+lbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0,…
## $ knowgay2_3 <dbl+lbl> 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,…
## $ knowgay2_4 <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowgay2_5 <dbl+lbl> 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ knowgay2_6 <dbl+lbl> 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ stress1 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ stress2 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ stress3 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ stress4 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ depress1 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ depress2 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ depress3 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ depress4 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ depress5 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ callout1 <dbl+lbl> 4, 1, 4, 4, 5, 4, 2, 1, 2, 2, 3, 5, 5, 2, 2, 4, 5, 3, 4, 2, 3, 4,…
## $ speech1 <dbl+lbl> 3, 4, 3, 2, 2, 5, 5, 1, 2, 3, 3, 4, 4, 3, 4, 4, 2, 5, 4, 3, 2, 4,…
## $ forgive1a <dbl+lbl> 66, 66, 6, 66, 66, 66, 4, 6, 3, 66, 66, 4, 66, 66, 66, 66, …
## $ forgive1b <dbl+lbl> 5, 3, 66, 2, 7, 6, 66, 66, 66, 4, 5, 66, 4, 4, 3, 5, 6…
## $ callout2 <dbl+lbl> 3, 1, 4, 3, 1, 2, 1, 5, 3, 1, 2, 4, 4, 2, 2, 3, 3, 2, 4, 1, 2, 4,…
## $ speech2 <dbl+lbl> 3, 2, 4, 2, 1, 3, 3, 5, 2, 4, 1, 2, 2, 3, 2, 4, 3, 3, 3, 2, 2, 4,…
## $ forgive2a <dbl+lbl> 66, 66, 2, 66, 66, 66, 3, 1, 2, 66, 66, 3, 66, 66, 66, 66, …
## $ forgive2b <dbl+lbl> 4, 4, 66, 2, 6, 6, 66, 66, 66, 2, 2, 66, 5, 2, 2, 3, 6…
## $ divmoral <dbl+lbl> 2, 2, 4, 4, 2, 4, 3, 4, 4, 3, 4, 1, 4, 5, 3, 3, 5, 1, 4, 5, 3, 3,…
## $ forgive3 <dbl+lbl> 3, 3, 1, 1, 3, 1, 3, 3, 3, 3, 5, 1, 4, 2, 3, 2, 1, 2, 2, 2, 1, 3,…
## $ moralsup1 <dbl+lbl> 1, 2, 2, 2, 4, 3, 3, 5, 2, 1, 3, 1, 1, 5, 3, 1, 1, 4, 1, 1, 3, 3,…
## $ duepro3 <dbl+lbl> 3, 1, 5, 4, 3, 4, 2, 5, 4, 4, 5, 3, 2, 3, 5, 3, 5, 3, 4, 5, 2, 5,…
## $ moralcert3 <dbl+lbl> 3, 2, 3, 4, 4, 4, 2, 5, 5, 4, 4, 1, 3, 2, 5, 1, 4, 2, 3, 5, 5, 5,…
## $ forgive5 <dbl+lbl> 3, 3, 5, 2, 3, 3, 2, 5, 4, 3, 2, 3, 3, 3, 2, 3, 5, 2, 5, 3, 4, 3,…
## $ intelsup1 <dbl+lbl> 3, 1, 3, 1, 2, 3, 2, 4, 2, 3, 2, 3, 1, 3, 3, 3, 1, 2, 4, 1, 3, 2,…
## $ moralcert1 <dbl+lbl> 4, 1, 3, 3, 3, 5, 1, 3, 2, 1, 4, 1, 1, 3, 4, 3, 4, 4, 1, 1, 2, 4,…
## $ duepro4 <dbl+lbl> 2, 1, 2, 3, 4, 2, 3, 3, 2, 3, 3, 3, 1, 3, 2, 1, 2, 4, 3, 1, 1, 3,…
## $ moralcert6 <dbl+lbl> 3, 3, 1, 2, 3, 3, 3, 3, 2, 2, 3, 4, 4, 3, 3, 1, 3, 3, 2, 1, 2, 2,…
## $ forgive4 <dbl+lbl> 3, 2, 1, 1, 2, 1, 5, 1, 2, 2, 1, 4, 3, 3, 1, 3, 2, 2, 1, 4, 2, 2,…
## $ moralcert2 <dbl+lbl> 2, 2, 5, 3, 3, 4, 3, 5, 4, 3, 4, 3, 2, 3, 3, 3, 4, 2, 3, 5, 3, 4,…
## $ duepro1 <dbl+lbl> 3, 1, 3, 1, 3, 5, 4, 3, 2, 2, 1, 1, 4, 3, 4, 4, 4, 4, 1, 4, 2, 3,…
## $ callout3a <dbl+lbl> 6, 6, 2, 6, 6, 6, 3, 4, 3, 6, 6, 3, 6, 6, 6, 6, 1, 2, 1, 6, 6, 3,…
## $ callout3b <dbl+lbl> 3, 2, 6, 2, 4, 1, 6, 6, 6, 4, 2, 6, 2, 3, 3, 4, 6, 6, 6, 4, 2, 6,…
## $ moralsup2 <dbl+lbl> 2, 5, 5, 1, 2, 3, 3, 5, 4, 3, 5, 3, 1, 3, 3, 1, 1, 5, 3, 3, 5, 3,…
## $ duepro2 <dbl+lbl> 4, 4, 5, 4, 3, 5, 4, 5, 3, 4, 5, 4, 4, 3, 4, 4, 5, 4, 2, 5, 5, 3,…
## $ intelsup2 <dbl+lbl> 4, 4, 3, 2, 4, 4, 2, 3, 2, 3, 2, 3, 1, 3, 2, 1, 1, 3, 2, 1, 3, 2,…
## $ duepro5 <dbl+lbl> 2, 4, 4, 2, 2, 5, 2, 4, 4, 3, 4, 3, 1, 3, 3, 2, 5, 2, 3, 2, 4, 4,…
## $ moralcert4 <dbl+lbl> 3, 3, 2, 1, 3, 4, 2, 1, 1, 3, 1, 4, 2, 3, 1, 1, 1, 3, 1, 1, 1, 4,…
## $ forgive6 <dbl+lbl> 3, 2, 4, 4, 4, 2, 3, 3, 3, 2, 2, 2, 4, 3, 2, 1, 5, 2, 1, 3, 2, 2,…
## $ moralcert5 <dbl+lbl> 3, 4, 1, 1, 2, 2, 2, 1, 1, 3, 2, 5, 2, 3, 1, 4, 1, 2, 1, 1, 4, 2,…
## $ link_bla <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ link_his <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ link_asi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ link_whi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ link_hpi <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ link_nat <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon1 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon2 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon3 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon4 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon5 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ selfmon6 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ inc_anes <dbl+lbl> 66, 7, 10, 1, 11, 9, 66, 66, 66, 66, 13, 66, 66, 66, 8, 66, …
## $ inc_cps <dbl+lbl> 10, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 3, 66, 66, 9, 6…
## $ inc_cpsmod <dbl+lbl> 66, 66, 66, 66, 66, 66, 14, 2, 21, 16, 66, 3, 66, 7, 66, 66, 6…
## $ home_anes <dbl+lbl> 1, 3, 2, 3, 1, 4, 2, 4, 3, 2, 2, 1, 1, 1, 1, 3, 3, 4, 2, 3, 2, 2,…
## $ home_cps <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ viol3_dems <dbl+lbl> 1, 4, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 2, 6, 4, 6,…
## $ viol3_reps <dbl+lbl> 6, 6, 6, 6, 5, 2, 4, 6, 1, 4, 4, 4, 3, 6, 4, 6, 1, 1, 6, 1, 6, 6,…
## $ viol3_both <dbl+lbl> 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 6, 6, 6, 6, 2,…
## $ viol1 <dbl+lbl> 3, 2, 3, 4, 4, 4, 3, 1, 3, 3, 4, 3, 1, 2, 5, 5, 5, 5, 5, 5, 5, 3,…
## $ viol2a <dbl+lbl> 3, 1, 1, 1, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ viol2b <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ exptravel_ever <dbl+lbl> 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1,…
## $ exphomesch <dbl+lbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ expconvert <dbl+lbl> 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2,…
## $ expholiday <dbl+lbl> 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 2,…
## $ expshark <dbl+lbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ exparrest <dbl+lbl> 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,…
## $ exppubasst <dbl+lbl> 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2,…
## $ expfight <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ expavoid <dbl+lbl> 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1,…
## $ callout_social <dbl+lbl> 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ callout_person <dbl+lbl> 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 2,…
## $ expknowimmig <dbl+lbl> 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1,…
## $ expbuyus <dbl+lbl> 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1,…
## $ expretire <dbl+lbl> 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1,…
## $ expknowpris <dbl+lbl> 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1,…
## $ birthyr <dbl> 1992, 1959, 1974, 1954, 1966, 1997, 1992, 1981, 1953, 1953, 1951, 195…
## $ sex <dbl+lbl> 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1,…
## $ educ <dbl+lbl> 4, 4, 5, 2, 3, 5, 2, 3, 5, 2, 3, 2, 2, 4, 3, 2, 3, 3, 2, 6, 5, 6,…
## $ state <dbl+lbl> 17, 35, 3, 43, 43, 33, 10, 43, 32, 7, 5, 13, 43, 5, 40, 38, 1…
## $ children <dbl+lbl> 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 3, 0, 0,…
## $ marital1 <dbl+lbl> 3, 1, 3, 5, 5, 5, 5, 3, 1, 1, 5, 5, 3, 1, 1, 1, 3, 5, 1, 3, 1, 1,…
## $ marital2 <dbl+lbl> 1, 6, 2, 2, 2, 2, 2, 2, 6, 6, 2, 2, 2, 6, 6, 6, 2, 2, 6, 2, 6, 6,…
## $ citizen1 <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ citizen2 <dbl+lbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,…
## $ geer1896 <dbl+lbl> 9999, 1959, 1963, 1290, 1979, 1884, 1896, 1896, 1948, 1956, 1950,…
## $ admit <dbl+lbl> 6, 6, 6, 5, 5, 5, 6, 1, 5, 6, 5, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6,…
## $ mauga <chr> "", "senator", "i don't know", "head shaman", "secretary", "senator",…
## $ pk_cjus <chr> "", "congress", "i don't know", "reporter", "representative", "senato…
## $ pk_germ <chr> "", "senate", "i don't know", "canadian pm", "senate", "congress", "c…
## $ pk_sen <dbl+lbl> 4, 8, 6, 6, 2, 6, 6, 4, 6, 5, 6, 2, 4, 2, 6, 4, 6, 6, 6, 6, 2, 4,…
## $ pk_spend <dbl+lbl> 1, 4, 1, 4, 1, 3, 3, 4, 4, 4, 2, 1, 4, 3, 2, 2, 2, 2, 4, 1, 1, 2,…
## $ whites_1 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_4 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_5 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_6 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ whites_7 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_1 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_4 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_5 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_6 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ blacks_7 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_1 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_4 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_5 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_6 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ hisp_7 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_1 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_2 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_3 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_4 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_5 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_6 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ asians_7 <dbl+lbl> 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7…
## $ survexp1 <dbl+lbl> 0, 0, 0, 3, 100, 7, 4, 100, 20, 4, 30, 12, 25, …
## $ survexp2 <dbl+lbl> 0, 0, 0, 3, 60, 5, 6, 50, 15, 3, 20, 4, 15, 24, 10, 4, 5…
## $ dejavu <dbl+lbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ serious <dbl+lbl> 5, 4, 5, 4, 5, 5, 4, 5, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
## $ form <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ INSTRUCTION_GROUP <dbl> 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 2, 2, 1, 1, 2, 0, 1, 2, 2, 2, 1, 2, 0, …
## $ FEEDBACK_GROUP <dbl> 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, …
## $ XGOVT <dbl> 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, …
## $ XFORGIVE <dbl> 2, 2, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, …
## $ XCONTACT <dbl> 1, 2, 2, 2, 2, 1, 0, 1, 2, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 1, …
## $ RAND_INC <dbl> 2, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 3, 2, 3, 1, 2, 1, 1, 3, 1, 3, 2, 1, …
## $ surv_comp <dbl+lbl> 1, 2, 3, 1, 3, 3, 1, 1, 2, 1, 1, 1, 1, 3, 2, 2, 2, 1, 1, 1, 1, 2,…
## $ USIPAddress <dbl+lbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ age <dbl> 27, 60, 45, 65, 53, 22, 27, 38, 66, 66, 68, 66, 69, 58, 56, 60, 73, 1…
## $ home_ownership <dbl+lbl> 1, 2, 2, 2, 1, 3, 2, 3, 2, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2,…
## $ income <dbl+lbl> 10, 7, 10, 1, 11, 9, 14, 2, 21, 16, 13, 3, 3, 7, 8, 9, …
## $ vote20turnoutjb <dbl+lbl> 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ particip_count <dbl> 0, 2, 3, 1, 0, 2, 0, 1, 3, 1, 1, 0, 0, 0, 3, 0, 1, 1, 0, 0, 1, 1, 2, …
## $ pk_mauga_correct <dbl+lbl> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ pk_germ_correct <dbl+lbl> 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,…
## $ pk_cjus_correct <dbl+lbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, …
## $ pk_sen_correct <dbl+lbl> 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0,…
## $ pk_spend_correct <dbl+lbl> 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,…
## $ pk_cjus_correctb <dbl+lbl> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0,…
## $ pk_index <dbl> 0.25, 0.00, 0.50, 0.50, 0.25, 0.25, 0.75, 0.00, 0.50, 0.00, 0.75, 0.2…
## $ pidstr1_dr <dbl+lbl> 3, 3, 6, 3, 5, 4, 6, 6, 4, 4, 1, 5, 5, 3, 2, 6, 6, 3, 4, 2, 3, 6,…
## $ pidstr1_ind <dbl+lbl> 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 6, 6, 6, 6, 4,…
## $ pidstr2_dr <dbl+lbl> 3, 3, 6, 1, 1, 2, 6, 6, 2, 3, 4, 4, 1, 3, 2, 6, 6, 3, 3, 2, 1, 6,…
## $ pidstr2_ind <dbl+lbl> 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 3, 2, 6, 6, 6, 6, 2,…
## $ pidstr3_dr <dbl+lbl> 3, 3, 6, 1, 1, 2, 6, 6, 4, 3, 4, 4, 1, 3, 3, 6, 6, 3, 1, 3, 2, 6,…
## $ pidstr3_ind <dbl+lbl> 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 6, 6, 6, 6, 2,…
## $ pid7 <dbl+lbl> 2, 1, 4, 1, 7, 6, 5, 4, 7, 6, 7, 7, 6, 2, 7, 4, 5, 7, 2, 7, 1, 4,…
## $ pid7str <dbl+lbl> 2, 3, 0, 3, 3, 2, 1, 0, 3, 2, 3, 3, 2, 2, 3, 0, 1, 3, 2, 3, 3, 0,…
## $ hispanic <dbl+lbl> 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,…
## $ hispanic_white <dbl+lbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,…
## $ nonhispanic_white <dbl+lbl> 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1,…
## $ hispanicr <dbl+lbl> 9, 9, 0, 9, 9, 1, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 9, 9, 9,…
## $ race1_white <dbl+lbl> 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ race1_black <dbl+lbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1_namer <dbl+lbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1_asian <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race1_hpi <dbl+lbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ rr_scale <dbl+lbl> 9, 16, 6, 13, 4, 14, 7, 9, 4, 12, 0, 9, 13, 2, 1, 8, …
## $ white <dbl+lbl> 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1,…
## $ black <dbl+lbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ namer <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ asian <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ hpi <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ mixed <dbl+lbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ race7 <dbl+lbl> 1, 1, 5, 1, 2, 5, 1, 1, 1, 1, 1, 2, 1, 5, 1, 1, 1, 1, 5, 1, 1, 1,…
## $ vidx <dbl+lbl> 2, 3, 3, 3, 2, 0, 1, 0, 1, 3, 0, 3, 0, 0, 0, 0, 3, 3, 3, 1, 0, 3,…
## $ vidknow <dbl+lbl> 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,…
# Summary provides descriptive statistics
summary(anes_data$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 34.75 49.00 48.87 63.00 110.00
summary(anes_data$income)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 6.00 11.00 12.52 20.00 99.00
summary(anes_data$pid7)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 4.000 4.197 7.000 9.000
The raw dataset is massive. We will select a few key variables and clean them up for our analysis. We will focus on vote choice, party identification, age, and income.
select(): to choose specific columns.filter(): to remove rows with missing data.mutate() and case_when(): to recode
variables into more meaningful categories.rename(): to give variables understandable names.anes_clean <- anes_data %>%
select(
vote_choice = vote20jb, # 2020 Biden vote (binary: voted for Biden)
party_id = pid7, # Party identification (7-point scale)
age = age, # Age in years
income = income # Household income (percentile)
) %>%
filter(
!is.na(vote_choice), # Remove missing values
!is.na(party_id),
!is.na(age),
!is.na(income),
age > 0, # Ensure valid age values
income < 99, # Ensure valid income values
party_id < 9, # Ensure valid party ID values
vote_choice <3 # Care about Trump vs. Biden only
) %>%
mutate(
party = case_when(
party_id %in% c(1, 2, 3) ~ "Republican",
party_id == 4 ~ "Independent",
party_id %in% c(5, 6, 7) ~ "Democrat",
TRUE ~ NA
),
party = factor(party, levels = c("Democrat", "Independent", "Republican")),
vote_biden = ifelse(vote_choice == 2, 1, 0) # 1 if voted for Biden, 0 Trump
)
# View the first few rows of our cleaned data
head(anes_clean)
Now that our data is clean, we can create summary statistics. Let’s
calculate the average age for each political party affiliation using
group_by() and summarise().
party_summary <- anes_clean %>%
group_by(party) %>%
summarise(
average_age = mean(age, na.rm = TRUE),
median_income = median(income, na.rm = TRUE),
count = n()
) %>%
arrange(desc(average_age)) # Sort by average age
# Print the summary table
print(party_summary)
## # A tibble: 3 × 4
## party average_age median_income count
## <fct> <dbl> <dbl> <int>
## 1 Republican 51.8 13 1109
## 2 Independent 51.1 10 198
## 3 Democrat 48.6 11 1267
Visualizations help us understand patterns in the data.
ggplot2 allows us to create beautiful, layered
graphics.
A histogram shows the distribution of a single continuous variable.
ggplot(anes_clean, aes(x = age)) +
geom_histogram(binwidth = 5, fill = "#4c51bf", color = "white") +
labs(
title = "Distribution of Respondent Age in ANES 2020 Pilot",
x = "Age",
y = "Frequency"
) +
theme_bw()
A bar plot is great for showing the frequency of different categories.
ggplot(anes_clean, aes(x = party, fill = party)) +
geom_bar() +
labs(
title = "Distribution of Party Identification",
x = "Party Identification",
y = "Count"
) +
theme_minimal() +
scale_fill_manual(values = c("Democrat" = "#3b82f6", "Republican" = "#ef4444", "Independent" = "#a855f7")) +
theme(legend.position = "none")
A boxplot is excellent for comparing the distribution of a continuous variable across different categories.
ggplot(anes_clean, aes(x = party, y = age, fill = party)) +
geom_boxplot() +
labs(
title = "Age Distribution by Party Identification",
x = "Party Identification",
y = "Age"
) +
theme_minimal() +
scale_fill_manual(values = c("Democrat" = "#3b82f6", "Republican" = "#ef4444", "Independent" = "#a855f7")) +
theme(legend.position = "none")
ggplot(anes_clean, aes(x = age, y = income, color = party)) +
geom_point(alpha = 0.5) +
labs(
title = "Income vs Age by Party Identification",
x = "Age",
y = "Income",
color = "Party"
) +
theme_minimal() +
scale_color_manual(values = c("Democrat" = "#3b82f6", "Republican" = "#ef4444", "Independent" = "#a855f7"))
ggplot(anes_clean, aes(x = age, y = income, color = party)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", se = T) + # one fitted line per party
labs(
title = "Income vs Age by Party Identification",
x = "Age",
y = "Income",
color = "Party"
) +
theme_minimal() +
scale_color_manual(values = c("Democrat" = "#3b82f6", "Republican" = "#ef4444", "Independent" = "#a855f7"))
Finally, let’s run a simple linear regression to model the
relationship between two variables. We can also test whether party
identification predicts income levels. The lm() function is
used to fit linear models.
# Fit a linear model: income predicted by party_id
income_model <- lm(income ~ party_id, data = anes_clean)
# Print the summary of the model
summary(income_model)
##
## Call:
## lm(formula = income ~ party_id, data = anes_clean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.4379 -6.4379 -0.4379 7.5621 13.7647
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.6383 0.2880 47.357 < 2e-16 ***
## party_id -0.2004 0.0601 -3.335 0.000865 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.365 on 2572 degrees of freedom
## Multiple R-squared: 0.004306, Adjusted R-squared: 0.003918
## F-statistic: 11.12 on 1 and 2572 DF, p-value: 0.0008654
# Fit a linear model: income predicted by party
income_model <- lm(income ~ party, data = anes_clean)
# Print the summary of the model
summary(income_model)
##
## Call:
## lm(formula = income ~ party, data = anes_clean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.578 -6.578 -0.578 7.422 14.768
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.3820 0.2064 59.995 < 2e-16 ***
## partyIndependent -1.1497 0.5614 -2.048 0.0407 *
## partyRepublican 1.1960 0.3021 3.959 7.73e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.346 on 2571 degrees of freedom
## Multiple R-squared: 0.009841, Adjusted R-squared: 0.009071
## F-statistic: 12.78 on 2 and 2571 DF, p-value: 3.009e-06
The summary output gives us the coefficient for age,
which tells us the estimated change in income percentile for each
one-year increase in age. We also get the p-value to assess statistical
significance and the R-squared value, which indicates the proportion of
variance in income that is predictable from age.
For a more presentation-friendly table, we can use the
stargazer package, as discussed in class. It creates
well-formatted regression tables.
# If you haven't installed it yet, uncomment and run the line below
# if (FALSE) install.packages("stargazer")
library(stargazer)
# Create a publication-quality regression table (as text output)
stargazer(income_model, type = "text",
title = "Regression Model: Predicting Income from Age",
dep.var.labels = "Household Income",
omit.stat = c("LL", "ser", "f"),
no.space = TRUE)
##
## Regression Model: Predicting Income from Age
## ============================================
## Dependent variable:
## ---------------------------
## Household Income
## --------------------------------------------
## partyIndependent -1.150**
## (0.561)
## partyRepublican 1.196***
## (0.302)
## Constant 12.382***
## (0.206)
## --------------------------------------------
## Observations 2,574
## R2 0.010
## Adjusted R2 0.009
## ============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
we can also do multiple regression by adding more predictors to the model.
vote_model<-glm(vote_biden ~ age + income + party, data=anes_clean, family=binomial)
# Print the summary of the model
summary(vote_model)
##
## Call:
## glm(formula = vote_biden ~ age + income + party, family = binomial,
## data = anes_clean)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.575799 0.231539 6.806 1.01e-11 ***
## age 0.012292 0.003858 3.186 0.00144 **
## income -0.008119 0.008506 -0.955 0.33982
## partyIndependent -1.970019 0.169985 -11.589 < 2e-16 ***
## partyRepublican -4.549033 0.145404 -31.285 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 3566.7 on 2573 degrees of freedom
## Residual deviance: 1783.6 on 2569 degrees of freedom
## AIC: 1793.6
##
## Number of Fisher Scoring iterations: 5
library(coefplot)
coefplot(vote_model,intercept=FALSE)+theme_classic()
# Predict vote choice probabilities
anes_clean$predicted_probs <- predict(vote_model, type = "response")
plot(anes_clean$party, anes_clean$predicted_probs,
xlab = "Party",
ylab = "Predicted Probability of Voting for Biden",
main = "Predicted Probability of Voting for Biden by Age")
library(ggeffects)
predicted<- ggeffects::ggpredict(vote_model, terms = c("party"))
plot(predicted)+
labs(
title = "Predicted Probability of Voting for Biden by Party Identification",
x = "Party Identification",
y = "Predicted Probability of Voting for Biden"
) +
theme_bw()
This review covered the essential workflow of a data analysis project
in R, from loading and cleaning to summarizing, visualizing, and
modeling. These fundamental skills from the tidyverse and
core R are the building blocks for more advanced statistical analysis
and data science work.