Demographics
Race
df_cbzs_elg %>%
group_by(race) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
race
|
N
|
Perc
|
Asian
|
11
|
5.47
|
Black or African American
|
15
|
7.46
|
Hispanic, Latino, or Spanish origin
|
9
|
4.48
|
White
|
146
|
72.64
|
multiracial
|
20
|
9.95
|
Gender
df_cbzs_elg %>%
mutate(gender = ifelse(is.na(gender) | gender == "","other",gender)) %>%
group_by(gender) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
gender
|
N
|
Perc
|
man
|
104
|
51.74
|
other
|
2
|
1.00
|
woman
|
95
|
47.26
|
Age
df_cbzs_elg %>%
summarise(age_mean = round(mean(age,na.rm = T),2),
age_sd = round(sd(age,na.rm = T),2)) %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
age_mean
|
age_sd
|
38.63
|
12.93
|
Education
df_cbzs_elg %>%
group_by(edu) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
edu
|
N
|
Perc
|
GED
|
58
|
28.86
|
2yearColl
|
21
|
10.45
|
4yearColl
|
90
|
44.78
|
MA
|
24
|
11.94
|
PHD
|
7
|
3.48
|
NA
|
1
|
0.50
|
Subjective SES
df_cbzs_elg %>%
group_by(ses) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
ses
|
N
|
Perc
|
Lower Class
|
23
|
11.44
|
Lower Middle Class
|
53
|
26.37
|
Middle Class
|
95
|
47.26
|
Upper Middle Class
|
27
|
13.43
|
Upper Class
|
3
|
1.49
|
Working Class
Do you see yourself as part of the working class?
df_cbzs_elg %>%
group_by(wrkclass) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
arrange(desc(N)) %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
wrkclass
|
N
|
Perc
|
Yes
|
146
|
72.64
|
No
|
35
|
17.41
|
Not sure
|
20
|
9.95
|
Income
df_cbzs_elg %>%
ggplot(aes(x = income)) +
geom_bar() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold"),
axis.title.x = element_blank(),
axis.title.y = element_blank()) +
coord_flip()

Politics
Ideology
Participants were asked about the extent to which they subscribe to
the following ideologies on a scale of 1-7 (select NA if unfamiliar):
Conservatism, Liberalism, Democratic Socialism, Libertarianism,
Progressivism.
means <- df_cbzs_elg %>%
dplyr::select(PID,ideo_con:ideo_prog) %>%
pivot_longer(-PID,
names_to = "ideo",
values_to = "score") %>%
filter(!is.na(score)) %>%
group_by(ideo) %>%
summarise(score = mean(score)) %>%
ungroup()
df_cbzs_elg %>%
dplyr::select(PID,ideo_con:ideo_prog) %>%
pivot_longer(-PID,
names_to = "ideo",
values_to = "score") %>%
filter(!is.na(score)) %>%
ggplot() +
geom_density(aes(x = score), fill = "lightblue") +
scale_x_continuous(limits = c(1,7),
breaks = seq(1,7,1)) +
geom_vline(data = means,mapping = aes(xintercept = score),
color = "black",
linetype = "dashed",
size = 1.1) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold")) +
facet_wrap(~ideo,nrow = 2)

Party ID
df_cbzs_elg %>%
group_by(party_id) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
party_id
|
N
|
Perc
|
Democrat
|
73
|
36.32
|
Independent
|
58
|
28.86
|
Republican
|
70
|
34.83
|
Vote in 2020
df_cbzs_elg %>%
group_by(vote_2020) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
arrange(desc(N)) %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
vote_2020
|
N
|
Perc
|
Joe Biden
|
88
|
43.78
|
Donald Trump
|
71
|
35.32
|
I did not vote
|
32
|
15.92
|
Third-party candidate
|
10
|
4.98
|
Vote in 2024
df_cbzs_elg %>%
group_by(vote_2024) %>%
summarise(N = n()) %>%
ungroup() %>%
mutate(Perc = round(100*(N/sum(N)),2)) %>%
ungroup() %>%
arrange(desc(N)) %>%
kbl() %>%
kable_styling(bootstrap_options = "hover",
full_width = F,
position = "left")
vote_2024
|
N
|
Perc
|
Donald Trump
|
72
|
35.82
|
Joe Biden
|
72
|
35.82
|
I will not vote
|
26
|
12.94
|
Robert F. Kennedy Jr.Â
|
18
|
8.96
|
Other
|
7
|
3.48
|
Jill Stein
|
5
|
2.49
|
Cornel West
|
1
|
0.50
|
Measures
Manipulation check: Class
The policy proposal emphasizes the benefit for working class
individuals seeking homeownership
df_cbzs_elg %>%
ggplot(aes(x = check_class)) +
geom_histogram(fill = "lightblue",
color = "black",
binwidth = 1) +
scale_x_continuous(limits = c(0,8),
breaks = seq(1,7,1)) +
geom_vline(xintercept = mean(df_cbzs_elg$check_class,na.rm = T),
color = "black",
linetype = "dashed",
size = 1.1) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold"))

Manipulation check: Zero-Sum
This policy proposal suggests that the benefits provided to one group
come at the expense of another
df_cbzs_elg %>%
ggplot(aes(x = check_zs)) +
geom_histogram(fill = "lightblue",
color = "black",
binwidth = 1) +
scale_x_continuous(limits = c(0,8),
breaks = seq(1,7,1)) +
geom_vline(xintercept = mean(df_cbzs_elg$check_zs,na.rm = T),
color = "black",
linetype = "dashed",
size = 1.1) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold"))

Support
To what extent do you oppose or support this policy?
df_cbzs_elg %>%
ggplot(aes(x = support)) +
geom_histogram(fill = "lightblue",
color = "black",
binwidth = 1) +
scale_x_continuous(limits = c(0,8),
breaks = seq(1,7,1)) +
geom_vline(xintercept = mean(df_cbzs_elg$support,na.rm = T),
color = "black",
linetype = "dashed",
size = 1.1) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold"))

Class-based Zero-Sum Beliefs
- If the upper class becomes richer, this comes at the expense of the
working class
- If the upper class makes more money, then the working class makes
less money
- If the upper class does better economically, this does NOT come at
the expense of the working class [R]
alpha = 0.94
df_cbzs_elg %>%
ggplot(aes(x = zs_class)) +
geom_density(fill = "lightblue",
color = "black") +
scale_x_continuous(breaks = seq(1,7,1),
limits = c(1,7)) +
ylab("density") +
geom_vline(xintercept = mean(df_cbzs_elg$zs_class,na.rm = T),
color = "black",
linetype = "dashed",
size = 1.1) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.line = element_line(color = "grey66"),
axis.text.y = element_text(color = "black"),
axis.text.x = element_text(color = "black",
face = "bold"),
axis.title.x = element_text(color = "black",
face = "bold"))
