ELM says that when people monitor persuasive information, the more likely they are to develop attitudes that are stronger and more resistant to change over time. In this study below we found participants who spent more time looking at high quality information, such as medical studies, expert opinions, incarceration statistics, and tax revenue projections, were also more likely to favor legalizing recreational marijuana one month later. Therefore, if the results show a positive relationship between the amount of time participants spent viewing high quality information and whether they favored legalization, this would provide support that greater cognitive processing of strong persuasive arguments can lead to attitude changes down the line.
The amount of time participants spent viewing high quality persuasive information is associated with the likelihood of favoring the legalization of recreational marijuana in Tennessee.
The independent variable in the analysis was the amount of time, in minutes, that each participant spent looking at high quality persuasive information supporting the legalization of recreational marijuana in Tennessee (Minutes). The dependent variable was whether participants favored the legalization of recreational marijuana in Tennessee (Favor_1), with participants who favored legalization coded as 1 and participants who opposed, were undecided, or declined to answer coded as 0.
A sample of 200 participants was recruited for the study. Before the study began, all participants indicated that they had no strong opinion for or against the legalization of recreational marijuana in Tennessee. Participants spent 30 minutes browsing a realistic looking website for a fictional organization advocating for legalization while an eye-tracking device recorded where they looked on the screen. The eye tracker measured the amount of time each participant spent viewing high quality persuasive information, such as summaries of medical studies, information from medical experts, incarceration statistics, and tax revenue projections. One month after the study, participants were contacted and asked whether they favored or opposed legalizing recreational marijuana in Tennessee.
A binary logistic regression analysis was used to test whether the amount of time participants spent viewing high quality persuasive information (Minutes) was associated with the likelihood of favoring the legalization of recreational marijuana in Tennessee (Favor_1).
The tables below show a Logistics Regression Results, Box-Tidwell, and Inflection Point of Logistic Curve.
| Logistic Regression Results | ||||
| Odds Ratios with 95% Confidence Intervals | ||||
| term | Odds_Ratio | CI_Lower | CI_Upper | P_Value |
|---|---|---|---|---|
| (Intercept) | 0.099 | 0.044 | 0.205 | 0.0000 |
| IV | 1.167 | 1.116 | 1.227 | 0.0000 |
| Linearity of the Logit Test (Box-Tidwell) | |||
| Interaction term indicates violation if significant | |||
| term | Estimate | Std_Error | P_Value |
|---|---|---|---|
| (Intercept) | −2.566 | 1.100 | 0.0196 |
| IV | 0.262 | 0.290 | 0.3657 |
| IV_log | −0.032 | 0.078 | 0.6869 |
| Inflection Point of Logistic Curve | |
| Value of IV where predicted probability = 0.50 | |
| Probability | Inflection_Point |
|---|---|
| 0.5 | 14.965 |
With a p-value below .05 on the Logistics Regressions Results we can say that the test is statistically significant and the amount of time participants spent viewing high quality persuasive information is associated with the likelihood of favoring the legalization of recreational marijuana in Tennessee. As well as every one minute someone views high quality information, a favor for legalization goes up by 1.167.
With our Box-Tidwell p-value being above .05 our data meets the regulations for logistic regression.
For inflection point, for the person to be a 50/50 on if they the legalization of marijuana, they would need exactly 14.965 total minutes on the website
# ------------------------------
# Install and load required packages
# ------------------------------
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("gt")) install.packages("gt")
if (!require("gtExtras")) install.packages("gtExtras")
if (!require("plotly")) install.packages("plotly")
library(ggplot2)
library(dplyr)
library(gt)
library(gtExtras)
library(plotly)
# ------------------------------
# Read the data
# ------------------------------
mydata <- read.csv("ELM.csv") # <-- EDIT filename
# ################################################
# # (Optional) Remove specific case(es)s by row number
# ################################################
# # Example: remove rows 10 and 25
# rows_to_remove <- c(10, 25) # Edit and uncomment this line
# mydata <- mydata[-rows_to_remove, ] # Uncomment this line
# Specify dependent (DV) and independent (IV) variables
mydata$DV <- mydata$Favor_1 # <-- EDIT DV column
mydata$IV <- mydata$Minutes # <-- EDIT IV column
# Ensure DV is binary numeric (0/1)
mydata$DV <- as.numeric(as.character(mydata$DV))
# ------------------------------
# Logistic regression plot
# ------------------------------
logit_plot <- ggplot(mydata, aes(x = IV, y = DV)) +
geom_point(alpha = 0.5) + # scatterplot of observed data
geom_smooth(method = "glm",
method.args = list(family = "binomial"),
se = FALSE,
color = "#1f78b4") +
labs(title = "Logistic Regression Curve",
x = "Independent Variable (IV)",
y = "Dependent Variable (DV)")
logit_plotly <- ggplotly(logit_plot)
# ------------------------------
# Run logistic regression
# ------------------------------
options(scipen = 999)
log.ed <- glm(DV ~ IV, data = mydata, family = "binomial")
# Extract coefficients and odds ratios
results <- broom::tidy(log.ed, conf.int = TRUE, exponentiate = TRUE) %>%
select(term, estimate, conf.low, conf.high, p.value) %>%
rename(Odds_Ratio = estimate,
CI_Lower = conf.low,
CI_Upper = conf.high,
P_Value = p.value)
# Display results as a nice gt table
results_table <- results %>%
gt() %>%
fmt_number(columns = c(Odds_Ratio, CI_Lower, CI_Upper), decimals = 3) %>%
fmt_number(columns = P_Value, decimals = 4) %>%
tab_header(
title = "Logistic Regression Results",
subtitle = "Odds Ratios with 95% Confidence Intervals"
)
# ------------------------------
# Check linearity of the logit (Box-Tidwell test)
# ------------------------------
# (Assumes IV > 0; shift IV if needed)
mydata$IV_log <- mydata$IV * log(mydata$IV)
linearity_test <- glm(DV ~ IV + IV_log, data = mydata, family = "binomial")
linearity_results <- broom::tidy(linearity_test) %>%
select(term, estimate, std.error, p.value) %>%
rename(Estimate = estimate,
Std_Error = std.error,
P_Value = p.value)
linearity_table <- linearity_results %>%
gt() %>%
fmt_number(columns = c(Estimate, Std_Error), decimals = 3) %>%
fmt_number(columns = P_Value, decimals = 4) %>%
tab_header(
title = "Linearity of the Logit Test (Box-Tidwell)",
subtitle = "Interaction term indicates violation if significant"
)
# ------------------------------
# Calculate the inflection point (p = .50)
# ------------------------------
p <- 0.50
Inflection_point <- (log(p/(1-p)) - coef(log.ed)[1]) / coef(log.ed)[2]
inflection_table <- tibble(
Probability = 0.5,
Inflection_Point = Inflection_point
) %>%
gt() %>%
fmt_number(columns = Inflection_Point, decimals = 3) %>%
tab_header(
title = "Inflection Point of Logistic Curve",
subtitle = "Value of IV where predicted probability = 0.50"
)
# ------------------------------
# Outputs
# ------------------------------
# Interactive plot
logit_plotly
# Tables
results_table
linearity_table
inflection_table