In Agenda-setting theory, the media doesn’t tell the audience what to think, but influences the audience on what to think about. The amount of coverage a topic gets can influence the audience’s view on the topic’s importance.
Considering what the theory suggests, Fox covering immigration more than CNN might influence its viewers to identify immigration as an important issue.
Viewers who watch Fox are more likely to identify immigration as a “top issue” than those who watch CNN.
The dependent variable in the analysis was a categorical measure of whether viewers identified immigration as a “top issue” or “not top issue.”
The independent variable was a measure - also categorical - indicating whether viewers watched CNN or Fox more.
A chi-square test of independence was conducted to examine whether there was a statistically significant association between viewers’ preferred news outlet and if they identified immigration as a top issue in the United States.
The graph and crosstabulation table below summarize the association between the dependent and independent variables. The chi-square results are shown as well.
Crosstabulation of DV by IV | ||
Counts and (Column Percentages) | ||
CNN | Fox | |
---|---|---|
1 Top issue | 35 (11.7%) | 115 (38.3%) |
2 Not top issue | 265 (88.3%) | 185 (61.7%) |
Chi-squared Test Results | |||
Test of Independence between DV and IV | |||
Test | Chi-squared Statistic | Degrees of Freedom | p-value |
---|---|---|---|
Chi-squared Test of Independence | 55.476 | 1 | 0.000 |
The results supported the hypothesis and showed a statistically significant association between the independent variable (preferred network) and the dependent variable (immigration being a top issue), p < .001. Fox viewers were more likely than CNN viewers to identify immigration as a top issue in the United States.
These findings support Agenda-Setting Theory. Fox had “consistently devoted more coverage to immigration than CNN had” resulting in Fox viewers identifying immigration as a top issue.
# ------------------------------
# Setup: Install and load packages
# ------------------------------
if (!require("tidyverse")) install.packages("tidyverse") # Data wrangling & plotting
if (!require("gmodels")) install.packages("gmodels") # Crosstabs
if (!require("gt")) install.packages("gt") # Table formatting
library(tidyverse)
library(gmodels)
library(gt)
# ------------------------------
# Load the data
# ------------------------------
# Replace "YOURFILENAME.csv" with your dataset name
mydata <- read.csv("TopIssue.csv") #Edit
# ------------------------------
# Define Dependent (DV) and Independent (IV) variables
# ------------------------------
# Replace YOURDVNAME and YOURIVNAME with actual column names in your data
mydata$DV <- mydata$Immigration #Edit
mydata$IV <- mydata$PreferredNetwork #Edit
# ------------------------------
# Visualization: Stacked bar chart of IV by DV
# ------------------------------
graph <- ggplot(mydata, aes(x = IV, fill = DV)) +
geom_bar(colour = "black") +
scale_fill_brewer(palette = "Paired") +
labs(
title = "Distribution of DV by IV",
x = "Independent Variable",
y = "Count",
fill = "Dependent Variable"
)
#Show the graph
graph
# ------------------------------
# Crosstabulation of DV by IV (DV = rows, IV = columns)
# ------------------------------
crosstab <- mydata %>%
count(DV, IV) %>%
group_by(IV) %>%
mutate(RowPct = 100 * n / sum(n)) %>%
ungroup() %>%
mutate(Cell = paste0(n, "\n(", round(RowPct, 1), "%)")) %>%
select(DV, IV, Cell) %>%
pivot_wider(names_from = IV, values_from = Cell)
# Format into gt table
crosstab_table <- crosstab %>%
gt(rowname_col = "DV") %>%
tab_header(
title = "Crosstabulation of DV by IV",
subtitle = "Counts and (Column Percentages)"
) %>%
cols_label(
DV = "Dependent Variable"
)
# Show the polished crosstab table
crosstab_table
# ------------------------------
# Chi-squared test of independence
# ------------------------------
options(scipen = 999) # Prevents scientific notation
chitestresults <- chisq.test(mydata$DV, mydata$IV)
# ------------------------------
# Format Chi-squared test results into a table
# ------------------------------
chitest_summary <- tibble(
Test = "Chi-squared Test of Independence",
Chi_sq = chitestresults$statistic,
df = chitestresults$parameter,
p = chitestresults$p.value
)
chitest_table <- chitest_summary %>%
gt() %>%
# Round χ² and p-value to 3 decimals, df to integer
fmt_number(columns = c(Chi_sq, p), decimals = 3) %>%
fmt_number(columns = df, decimals = 0) %>%
tab_header(
title = "Chi-squared Test Results",
subtitle = "Test of Independence between DV and IV"
) %>%
cols_label(
Test = "Test",
Chi_sq = "Chi-squared Statistic",
df = "Degrees of Freedom",
p = "p-value"
)
# Show the formatted results table
chitest_table