moderation by article content
Are the relationships moderated by article content types (health or climate)?
self-relevance
run model
Note: The model allowing both condition and article content type to vary randomly across people did not converge. We therefore used AIC to select the best fitting random effects structure and summarize results from this model
mod_h1_1 = lmer(msg_rel_self ~ 1 + article_cond * content + (1 + article_cond | SID),
data = study6,
control = lmerControl(optimizer = "bobyqa"))
mod_h1_2 = lmer(msg_rel_self ~ 1 + article_cond * content + (1 + content | SID),
data = study6,
control = lmerControl(optimizer = "bobyqa"))
anova(mod_h1_1, mod_h1_2)summary(mod_h1_2)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: msg_rel_self ~ 1 + article_cond * content + (1 + content | SID)
## Data: study6
## Control: lmerControl(optimizer = "bobyqa")
##
## REML criterion at convergence: 73563
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.4975 -0.5745 0.0706 0.5683 3.6967
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## SID (Intercept) 489.4 22.12
## contentclimate 393.1 19.83 -0.38
## Residual 495.1 22.25
## Number of obs: 7940, groups: SID, 397
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 51.1853 1.2211 476.5708 41.918
## article_condself 13.2763 1.0107 7500.6358 13.136
## article_condsocial 5.3246 1.0138 7488.0287 5.252
## contentclimate 3.4472 1.2309 589.1541 2.801
## article_condself:contentclimate -2.2894 1.4120 7490.1761 -1.621
## article_condsocial:contentclimate -0.1779 1.4179 7477.5483 -0.125
## Pr(>|t|)
## (Intercept) < 0.0000000000000002 ***
## article_condself < 0.0000000000000002 ***
## article_condsocial 0.000000154 ***
## contentclimate 0.00527 **
## article_condself:contentclimate 0.10499
## article_condsocial:contentclimate 0.90016
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) artcl_cndsl artcl_cndsc cntntc artcl_cndsl:
## artcl_cndsl -0.217
## artcl_cndsc -0.220 0.066
## contentclmt -0.454 0.217 0.220
## artcl_cndsl: 0.157 -0.698 -0.072 -0.318
## artcl_cndsc: 0.158 -0.071 -0.697 -0.315 0.100
model summary table
table_model(mod_h1_2)| term | b [95% CI] | d | df | t | p |
|---|---|---|---|---|---|
| control | 51.19 [48.79, 53.58] | – | 476.57 | 41.92 | < .001 |
| self | 13.28 [11.30, 15.26] | 0.30 | 7500.64 | 13.14 | < .001 |
| social | 5.32 [3.34, 7.31] | 0.12 | 7488.03 | 5.25 | < .001 |
| content (climate) | 3.45 [1.03, 5.86] | 0.23 | 589.15 | 2.80 | .010 |
| self x content (climate) | -2.29 [-5.06, 0.48] | -0.04 | 7490.18 | -1.62 | .100 |
| social x content (climate) | -0.18 [-2.96, 2.60] | -0.00 | 7477.55 | -0.13 | .900 |
plot
# generate predicted values
predicted_h1 = ggeffects::ggpredict(mod_h1_2, c("article_cond", "content")) %>%
data.frame() %>%
mutate(model = "self\nrelevance")
predicted_h2 = ggeffects::ggpredict(mod_h2, c("article_cond", "content")) %>%
data.frame() %>%
mutate(model = "social\nrelevance")
predicted_h3_h4 = ggeffects::ggpredict(mod_h3_h4, c("article_cond", "sharing_type", "content")) %>%
data.frame() %>%
mutate(group = ifelse(group == "0", "broadcast sharing", "narrowcast sharing"))
# manipulation check plot
check = bind_rows(predicted_h1, predicted_h2) %>%
ggplot(aes(x = x, y = predicted, color = group)) +
stat_summary(aes(group = group), fun.y = "mean", geom = "line", position = position_dodge(.2), size = 1) +
geom_pointrange(aes( ymin = conf.low, ymax = conf.high), position = position_dodge(.2), size = 1) +
facet_grid(~model) +
scale_color_manual(name = "", values = palette_content) +
labs(x = "", y = "mean predicted rating\n") +
plot_aes +
theme(legend.position = c(.85, .15))
# causal analysis plot
causal = predicted_h3_h4 %>%
mutate(group = gsub(" sharing", "", group)) %>%
ggplot(aes(x = x, y = predicted, color = facet)) +
stat_summary(aes(group = facet), fun.y = "mean", geom = "line", position = position_dodge(.2), size = 1) +
geom_pointrange(aes(ymin = conf.low, ymax = conf.high), position = position_dodge(.2), size = 1) +
facet_grid(~group) +
scale_color_manual(name = "", values = palette_content) +
scale_alpha_manual(name = "", values = c(1, .5)) +
labs(x = "", y = "mean predicted sharing intention rating\n") +
scale_y_continuous(limits = c(40, 60)) +
plot_aes +
theme(legend.position = c(.85, .15))
cowplot::plot_grid(check, causal, labels = c("A", "B"))
social relevance
Test whether messages in the social condition will be rated as more socially relevant than messages in the control condition.
run model
model summary table