Agenda-setting theory holds that the news media do not just report on events, they also shape which issues audiences come to see as important. Outlets that devote more airtime to a topic tend to have viewers who rate that topic as more important, even when the underlying reality has not changed. In the months leading up to this survey, Fox News covered “immigration” more heavily than CNN did. If agenda-setting is operating as the theory predicts, that difference in coverage should show up as a difference in what each network’s regular viewers name as the most important problem facing the country. This analysis tests whether frequent Fox viewers are more likely than frequent CNN viewers to name immigration as the nation’s top problem.
H1: Frequent Fox News viewers will be more likely than frequent CNN viewers to name immigration as the most important problem facing the United States.
Because PreferredNetwork (Fox/CNN) and
Immigration (Top issue/Not top issue) are both categorical
variables, this hypothesis is tested with a chi-square test of
independence rather than a t-test.
PreferredNetwork
— which network the respondent watches most, Fox News or CNN.Immigration —
whether the respondent named immigration as the most important problem
facing the country (“1 Top issue”) or named something else (“2 Not top
issue”).# Read the data from the web
FetchedData <- read.csv("https://drkblake.com/wp-content/uploads/2023/09/TopIssue.csv")
# Save the data on your computer
write.csv(FetchedData, "TopIssue.csv", row.names = FALSE)
# remove the data from the environment
rm(FetchedData)
# Load the saved data for analysis
TopIssue <- read.csv("TopIssue.csv")
# Crosstabulation of PreferredNetwork by Immigration, with row percentages
counts <- table(TopIssue$PreferredNetwork, TopIssue$Immigration)
rowpct <- round(prop.table(counts, 1) * 100, 1)
crosstab_table <- data.frame(
PreferredNetwork = rownames(counts),
`Top issue (n)` = counts[, "1 Top issue"],
`Top issue (%)` = rowpct[, "1 Top issue"],
`Not top issue (n)` = counts[, "2 Not top issue"],
`Not top issue (%)` = rowpct[, "2 Not top issue"],
check.names = FALSE
) %>%
kable(
caption = "Naming Immigration as the Top Issue, by Preferred Network",
align = "lcccc"
)
# Chi-square test of independence
chitest <- chisq.test(counts)
chitest_table <- data.frame(
Statistic = c("Chi-squared", "df", "p-value"),
Value = c(
round(chitest$statistic, 2),
chitest$parameter,
format.pval(chitest$p.value, digits = 3, eps = .001)
)
) %>%
kable(caption = "Chi-Square Test of Independence: PreferredNetwork x Immigration")
# Stacked column chart showing the % of each network's viewers naming
# immigration as the top issue vs. not
plot_data <- TopIssue %>%
group_by(PreferredNetwork, Immigration) %>%
summarise(n = n(), .groups = "drop") %>%
group_by(PreferredNetwork) %>%
mutate(pct = n / sum(n))
graph <- ggplot(plot_data, aes(x = PreferredNetwork, y = pct, fill = Immigration)) +
geom_col(position = "stack") +
geom_text(aes(label = percent(pct, accuracy = 1)),
position = position_stack(vjust = 0.5), color = "white", fontface = "bold") +
scale_y_continuous(labels = percent) +
scale_fill_manual(values = c("1 Top issue" = "#c0392b", "2 Not top issue" = "#7f8c8d")) +
labs(
title = "Is Immigration the Top Issue? By Preferred Network",
x = "Preferred Network",
y = "Percent of Viewers",
fill = "Immigration"
) +
theme_minimal(base_size = 13)
| PreferredNetwork | Top issue (n) | Top issue (%) | Not top issue (n) | Not top issue (%) | |
|---|---|---|---|---|---|
| CNN | CNN | 35 | 11.7 | 265 | 88.3 |
| Fox | Fox | 115 | 38.3 | 185 | 61.7 |
Among the 300 frequent CNN viewers in the sample, 35 (11.7%) named immigration as the most important problem facing the country, compared with 115 of 300 (38.3%) frequent Fox viewers — more than three times the rate.
| Statistic | Value | |
|---|---|---|
| X-squared | Chi-squared | 55.48 |
| df | df | 1 |
| p-value | <0.001 |
A chi-square test of independence confirmed that this difference is statistically significant, X²(1) = 55.48, p < .001. Because the p-value is far below the conventional .05 threshold, the null hypothesis of no association between preferred network and naming immigration as the top issue can be rejected, and H1 is supported.
These results are consistent with agenda-setting theory. Fox News, which devoted more coverage to immigration than CNN did in the months before the survey, has a viewer base substantially more likely to name immigration as the nation’s most pressing problem. While this cross-sectional design cannot rule out the reverse possibility — that people who already care about immigration self-select into watching Fox — the size and statistical significance of the difference are exactly what agenda-setting theory would predict from the documented gap in coverage between the two networks.