Running the initial model predicting anger from a media difference score (Fox - Other) resulted in: a) No main effect of media difference score (p = .97); and b) A significant two-way interaction between partisanship (Dem vs. Rep) and media difference score (b = 0.58, p < .001).
Interaction was such that effect of Fox - Other was somewhat larger for Republicans (b = 0.34, p < .001) than for Democrats (b = -0.24, p < .001).
Running the initial model predicting anger from a combined score (Fox + Other) resulted in: a) No main effect of combined media measure (p = .54); and b) No interaction between partisanship (Dem vs. Rep) and media difference score (p = .61).
Running the initial model predicting anger from a media difference score (Fox - Other) resulted in: a) No main effect of media difference score (p = .74); and b) A significant two-way interaction between partisanship (Dem vs. Rep) and media difference score (b = 0.46, p < .001).
Interaction was such that effect of Fox - Other was smaller for Democrats (b = -0.19, p = .009) than for Republicans (b = 0.27, p < .001).
Running the initial model predicting anger from a combined score (Fox + Other) resulted in: a) Main effect of combined media measure (b = 0.09, p = .009); and b) No interaction between partisanship (Dem vs. Rep) and media difference score (p = .70).
No
There is an interaction between partisanship (Dem vs. Rep) and media exposure/trust (p < .001) as well as partisanship (Dem vs. Rep) and Fox exposure/trust (p < .001).
Yes, p < .001
Yes, p < .001
No different – b = -1.28 in the Y ~ X model, b = -1.23 in the model including the mediator
Leaf’s comments: For media perception and anger, drop the fox*media interaction; we don’t have a great theoretical reason to include it.
The results are otherwise a little tricky to interpret. For OtherMedia, estimated at the average level of Fox (which is below group average for Rs and below group average for Ds), perception makes Ds more angry and Rs less angry. For Fox, the reverse pattern is true. This might reflect that anger increases with exposure to only one type of media sources: Fox and no other source, or every other source and not fox.
See what happens when instead using the difference (Fox - Others) and the sum (Fox + Others) as predictors.
anger2 <- lm(anger ~ (pDem_Rep + pInd_Not) * (foxPerception.c + mediaPerception.c), data = d)
summary(anger2)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * (foxPerception.c +
## mediaPerception.c), data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.6608 -1.7090 -0.3631 1.4932 5.0886
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.89777 0.07368 39.329 < 2e-16 ***
## pDem_Rep 0.23044 0.16256 1.418 0.1566
## pInd_Not 0.37186 0.17095 2.175 0.0298 *
## foxPerception.c -0.01927 0.06774 -0.284 0.7761
## mediaPerception.c -0.04469 0.09084 -0.492 0.6229
## pDem_Rep:foxPerception.c 0.47882 0.10859 4.410 1.13e-05 ***
## pDem_Rep:mediaPerception.c -0.89428 0.17302 -5.169 2.76e-07 ***
## pInd_Not:foxPerception.c 0.12545 0.18147 0.691 0.4895
## pInd_Not:mediaPerception.c -0.25069 0.22894 -1.095 0.2737
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.021 on 1204 degrees of freedom
## (29 observations deleted due to missingness)
## Multiple R-squared: 0.05728, Adjusted R-squared: 0.05101
## F-statistic: 9.144 on 8 and 1204 DF, p-value: 2.845e-12
No remarkable changes from fully interactive model (higher-order interactions weren’t significant in first go-around so this checks out).
# difference score
d$diffFoxOther <- d$foxPerception - d$mediaPerception
# combined score
d$addFoxOther <- d$foxPerception + d$mediaPerception
anger.diff <- lm(anger ~ (pDem_Rep + pInd_Not) * diffFoxOther, data = d)
summary(anger.diff)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * diffFoxOther, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.595 -1.738 -0.374 1.574 4.786
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.925713 0.072376 40.424 < 2e-16 ***
## pDem_Rep 0.318881 0.157444 2.025 0.0430 *
## pInd_Not 0.431508 0.169569 2.545 0.0111 *
## diffFoxOther -0.002481 0.062793 -0.040 0.9685
## pDem_Rep:diffFoxOther 0.583100 0.098547 5.917 4.27e-09 ***
## pInd_Not:diffFoxOther 0.159799 0.169196 0.944 0.3451
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.024 on 1207 degrees of freedom
## (29 observations deleted due to missingness)
## Multiple R-squared: 0.05182, Adjusted R-squared: 0.0479
## F-statistic: 13.19 on 5 and 1207 DF, p-value: 1.557e-12
anger.add <- lm(anger ~ (pDem_Rep + pInd_Not) * addFoxOther, data = d)
summary(anger.add)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * addFoxOther, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.6023 -1.6643 -0.5311 1.4715 4.3718
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.24675 0.21372 15.191 <2e-16 ***
## pDem_Rep 0.21502 0.43940 0.489 0.625
## pInd_Not 0.84250 0.51841 1.625 0.104
## addFoxOther -0.02659 0.04345 -0.612 0.541
## pDem_Rep:addFoxOther 0.04408 0.08582 0.514 0.608
## pInd_Not:addFoxOther -0.03162 0.10765 -0.294 0.769
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.055 on 1207 degrees of freedom
## (29 observations deleted due to missingness)
## Multiple R-squared: 0.02329, Adjusted R-squared: 0.01924
## F-statistic: 5.756 on 5 and 1207 DF, p-value: 2.935e-05
# difference score by party
aggregate(d$diffFoxOther, list(d$party_factor), FUN = mean, na.rm = T)
## Group.1 x
## 1 Democrat -0.9196957
## 2 Republican 0.9673349
## 3 Independent -0.1943609
# combined score by party
aggregate(d$addFoxOther, list(d$party_factor), FUN = mean, na.rm = T)
## Group.1 x
## 1 Democrat 4.853506
## 2 Republican 4.944303
## 3 Independent 4.510150
media.diff.plot <- ggplot(d[!is.na(d$party_factor),], aes(x = diffFoxOther, y = anger)) +
geom_smooth(method = 'lm', aes(x = diffFoxOther, y = anger, col = party_factor)) +
facet_wrap(~party_factor)
media.diff.plot + theme_classic() +
xlab("Difference between Fox and Other Media Trust/Exposure") +
ylab("Anger") +
theme(legend.position = c(1000,1000)) +
coord_cartesian(xlim = c(-4,4),ylim = c(1, 7)) +
scale_x_continuous(breaks = seq(-4,4,1)) +
scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) +
scale_color_manual(values = c("dodgerblue","red3","grey42"))
## `geom_smooth()` using formula 'y ~ x'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
media.add.plot <- ggplot(d[!is.na(d$party_factor),], aes(x = addFoxOther, y = anger)) +
geom_smooth(method = 'lm', aes(x = addFoxOther, y = anger, col = party_factor)) +
facet_wrap(~party_factor)
media.add.plot + theme_classic() +
xlab("Combined Fox and Other Media Trust/Exposure") +
ylab("Anger") +
theme(legend.position = c(1000,1000)) +
coord_cartesian(xlim = c(1,10),ylim = c(1, 7)) +
scale_x_continuous(breaks = seq(1,10,1)) +
scale_y_continuous(breaks = seq(1,7,1)) +
scale_color_manual(values = c("dodgerblue","red3","grey42"))
## `geom_smooth()` using formula 'y ~ x'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
mediaExposure_5 = Fox News mediaExposure = all but Fox News
anger3 <- lm(anger ~ (pDem_Rep + pInd_Not) * (mediaExposure_5 + mediaExposure), data = d)
summary(anger3)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * (mediaExposure_5 +
## mediaExposure), data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3571 -1.7731 -0.3797 1.5787 4.6790
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.68998 0.16036 16.775 < 2e-16 ***
## pDem_Rep 0.84381 0.34504 2.446 0.014607 *
## pInd_Not 0.81274 0.37842 2.148 0.031935 *
## mediaExposure_5 0.02564 0.06332 0.405 0.685585
## mediaExposure 0.12214 0.08391 1.456 0.145766
## pDem_Rep:mediaExposure_5 0.38391 0.10084 3.807 0.000148 ***
## pDem_Rep:mediaExposure -0.69667 0.15796 -4.411 1.12e-05 ***
## pInd_Not:mediaExposure_5 0.13835 0.16994 0.814 0.415739
## pInd_Not:mediaExposure -0.34249 0.21255 -1.611 0.107368
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.027 on 1205 degrees of freedom
## (28 observations deleted due to missingness)
## Multiple R-squared: 0.05076, Adjusted R-squared: 0.04446
## F-statistic: 8.055 on 8 and 1205 DF, p-value: 1.237e-10
# difference score
d$diffFoxOther.cons <- d$mediaExposure_5 - d$mediaExposure
# combined score
d$addFoxOther.cons <- d$mediaExposure_5 + d$mediaExposure
anger.diff.cons <- lm(anger ~ (pDem_Rep + pInd_Not) * diffFoxOther.cons, data = d)
summary(anger.diff.cons)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * diffFoxOther.cons,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3371 -1.7551 -0.3401 1.6566 4.6183
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.98309 0.06996 42.639 < 2e-16 ***
## pDem_Rep 0.20175 0.15005 1.345 0.17902
## pInd_Not 0.48000 0.16545 2.901 0.00378 **
## diffFoxOther.cons -0.01993 0.06049 -0.330 0.74181
## pDem_Rep:diffFoxOther.cons 0.46397 0.09478 4.895 1.11e-06 ***
## pInd_Not:diffFoxOther.cons 0.18678 0.16307 1.145 0.25227
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.032 on 1208 degrees of freedom
## (28 observations deleted due to missingness)
## Multiple R-squared: 0.04418, Adjusted R-squared: 0.04022
## F-statistic: 11.17 on 5 and 1208 DF, p-value: 1.543e-10
anger.add.cons <- lm(anger ~ (pDem_Rep + pInd_Not) * addFoxOther.cons, data = d)
summary(anger.add.cons)
##
## Call:
## lm(formula = anger ~ (pDem_Rep + pInd_Not) * addFoxOther.cons,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.0941 -1.8479 -0.4305 1.6043 4.5331
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.73817 0.15556 17.602 < 2e-16 ***
## pDem_Rep 0.27945 0.32832 0.851 0.39485
## pInd_Not 0.75285 0.37157 2.026 0.04297 *
## addFoxOther.cons 0.09408 0.03600 2.613 0.00907 **
## pDem_Rep:addFoxOther.cons 0.02755 0.07085 0.389 0.69743
## pInd_Not:addFoxOther.cons -0.03357 0.08934 -0.376 0.70712
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.048 on 1208 degrees of freedom
## (28 observations deleted due to missingness)
## Multiple R-squared: 0.02879, Adjusted R-squared: 0.02477
## F-statistic: 7.161 on 5 and 1208 DF, p-value: 1.294e-06
# difference score by party
aggregate(d$diffFoxOther.cons, list(d$party_factor), FUN = mean, na.rm = T)
## Group.1 x
## 1 Democrat -0.46223509
## 2 Republican 1.15394089
## 3 Independent 0.02481203
# combined score by party
aggregate(d$addFoxOther.cons, list(d$party_factor), FUN = mean, na.rm = T)
## Group.1 x
## 1 Democrat 4.069378
## 2 Republican 4.462438
## 3 Independent 3.638346
cons.diff.plot <- ggplot(d[!is.na(d$party_factor),], aes(x = diffFoxOther.cons, y = anger)) +
geom_smooth(method = 'lm', aes(x = diffFoxOther.cons, y = anger, col = party_factor)) +
facet_wrap(~party_factor)
cons.diff.plot + theme_classic() +
xlab("Difference between Fox and Other Media Exposure") +
ylab("Anger") +
theme(legend.position = c(1000,1000)) +
coord_cartesian(xlim = c(-4,4),ylim = c(1, 7)) +
scale_x_continuous(breaks = seq(-4,4,1)) +
scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) +
scale_color_manual(values = c("dodgerblue","red3","grey42"))
## `geom_smooth()` using formula 'y ~ x'
## Warning: Removed 14 rows containing non-finite values (stat_smooth).
cons.add.plot <- ggplot(d[!is.na(d$party_factor),], aes(x = addFoxOther.cons, y = anger)) +
geom_smooth(method = 'lm', aes(x = addFoxOther.cons, y = anger, col = party_factor)) +
facet_wrap(~party_factor)
cons.add.plot + theme_classic() +
xlab("Combined Fox and Other Media Exposure") +
ylab("Anger") +
theme(legend.position = c(1000,1000)) +
coord_cartesian(xlim = c(1,10),ylim = c(1, 7)) +
scale_x_continuous(breaks = seq(1,10,1)) +
scale_y_continuous(breaks = seq(1,7,1)) +
scale_color_manual(values = c("dodgerblue","red3","grey42"))
## `geom_smooth()` using formula 'y ~ x'
## Warning: Removed 14 rows containing non-finite values (stat_smooth).