Agenda-setting theory is the idea that topics and even attributes of those topics in media can become prominent within the public mind. The attention that surrounds these topics can depend on the content that is relevant at certain points in time and the relevancy of that content to certain individuals. Moreover, the frequency of topics mentioned in certain media, like news broadcasts, may affect an individual’s attention to those topics.
The percentage of viewers who say that immigration is the most important problem in the United States will differ depending on which news broadcast they watch.
600 individuals who frequently watched news broadcasts were divided evenly into 2 groups. One group consisted of 300 Fox News viewers, and the other group consisted of 300 CNN viewers. Each person was then asked the following question, “What is the most important problem facing the U.S. right now?”
The dependent variable is a categorical measure of whether respondents said that immigration was a top issue or not. The independent variable, which is also a cateogrical measure, indicated which news broadcast the respondents frequently watched: Fox News or CNN.
A chi-square test was conducted to examine whether the relationship between the viewers and the issue they found most important was statistically significant or not.
Below is the graph and crosstabulation table used to summarize the connection between the dependent and independent variables. The chi-square results follow below 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 here support the hypothesis. While the majority of both groups do not consider immigration as a top issue in the United States, more Fox News viewers consider immigration as a top issue (38.3%) than CNN viewers (11.7%). The chi-square test determines that the relationship is statistically significant.
Below is the code used to conduct the analysis.
# ------------------------------
# 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