See prereg [here](https://docs.google.com/document/d/1k0ABPV8jmNiNOa1PWxCZb_8xzD-53edIvj51tA6UaHI/edit?tab=t.0) # models ## candidate lean/preference coding - conditionD: 0 (proHarris), 1 (proTrump) non-prereg decay model: t2 ~ t1 + t0 ```r > summ(feols(lean_bidentrump_3 ~ lean_bidentrump_2 + lean_bidentrump_1 , d3), estimate = est_string) NOTE: 463 observations removed because of NA values (LHS: 463). term result <char> <char> 1: (Intercept) b = 2.17 [1.32, 3.02], p < .001 2: lean_bidentrump_2 b = 0.33 [0.27, 0.39], p < .001 3: lean_bidentrump_1 b = 0.62 [0.56, 0.68], p < .001 ``` non-prereg (ideal model): t2 ~ condition * t0 ```r > summ(feols(lean_bidentrump_3 ~ conditionD * scale(lean_bidentrump_1), d3), estimate = est_string) NOTE: 463 observations removed because of NA values (LHS: 463). term result <char> <char> 1: (Intercept) b = 43.84 [42.98, 44.71], p < .001 2: conditionD b = 0.70 [-0.53, 1.93], p = .265 # some signal left?? 3: scale(lean_bidentrump_1) b = 40.10 [39.25, 40.95], p < .001 4: conditionD × scale(lean_bidentrump_1) b = 0.07 [-1.15, 1.29], p = .914 ``` > We will fit a regression model predicting diff2 with diff1. diff2 ~ diff1 + t0 ```r > summ(feols(diff_lean_bidentrump2 ~ diff_lean_bidentrump1 + lean_bidentrump_1, d3), estimate = est_string) NOTE: 665 observations removed because of NA values (LHS: 665, RHS: 202). term result <char> <char> 1: (Intercept) b = 2.17 [1.32, 3.02], p < .001 2: diff_lean_bidentrump1 b = 0.33 [0.27, 0.39], p < .001 3: lean_bidentrump_1 b = -0.05 [-0.06, -0.03], p < .001 # do not interpret this because the DV is difference! ``` > As robustness checks, we will also fit models assuming t2=t0 for participants who do not return to complete this follow-up survey (i.e., they have t0 and t1, but not t2 values). ```r > summ(feols(diff_lean_bidentrump2imp ~ diff_lean_bidentrump1 + lean_bidentrump_1, d3), estimate = est_string) term result <char> <char> 1: (Intercept) b = 1.75 [1.05, 2.44], p < .001 2: diff_lean_bidentrump1 b = 0.24 [0.20, 0.29], p < .001 3: lean_bidentrump_1 b = -0.04 [-0.05, -0.03], p < .001 # ignore this! ``` > We will then fit the following mediation model: condition (treatment status from the experiment conducted a month ago) -> diff1 -> diff2 (i.e., a model where diff1 mediates the effect of condition on diff2, testing for an indirect effect). ```r # mediation path mod_mediate <- lm(diff_lean_bidentrump1 ~ conditionD + lean_bidentrump_1, d3[!is.na(diff_lean_bidentrump2)]) # full model mod_outcome <- lm(diff_lean_bidentrump2 ~ diff_lean_bidentrump1 + conditionD + lean_bidentrump_1, d3[!is.na(diff_lean_bidentrump2)]) # mediation model mediate_results <- mediate(mod_mediate, mod_outcome, treat = "conditionD", mediator = "diff_lean_bidentrump1", robustSE = TRUE, sims = 5000) summary(mediate_results) Causal Mediation Analysis Quasi-Bayesian Confidence Intervals Estimate 95% CI Lower 95% CI Upper p-value ACME 0.808 0.437 1.25 <2e-16 *** # indirect/mediation effect ADE -0.106 -1.329 1.11 0.87 # no direct effect Total Effect 0.702 -0.532 1.93 0.26 Prop. Mediated 0.891 -9.257 11.01 0.26 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Sample Size Used: 1842 Simulations: 5000 ``` > As robustness checks, we will fit the mediation models assuming t2=t0 for participants who do not return to complete this follow-up survey. ```r Estimate 95% CI Lower 95% CI Upper p-value ACME 0.684 0.388 1.02 <2e-16 *** # indirect/mediation effect ADE -0.153 -1.111 0.83 0.76 # no direct effect Total Effect 0.532 -0.441 1.52 0.29 Prop. Mediated 0.962 -10.262 13.92 0.29 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Sample Size Used: 2305 ``` ## vote intention - conditionD2 variable - if proHarris AI and Harris supporter at t0, 1 - if proTrump AI and Trump supporter at t0, 1 - else 0 non-prereg decay model: t2 ~ t1 + t0 ```r > summ(feols(vote_chance_3 ~ vote_chance_2 + vote_chance_1 , d3), estimate = est_string) NOTE: 463 observations removed because of NA values (LHS: 463). term result <char> <char> 1: (Intercept) b = 15.79 [13.41, 18.17], p < .001 2: vote_chance_2 b = 0.40 [0.33, 0.47], p < .001 3: vote_chance_1 b = 0.43 [0.36, 0.50], p < .001 ``` non-prereg (ideal model): t2 ~ condition * t0 ```r > summ(feols(vote_chance_3 ~ conditionD2 * scale(vote_chance_1), d3), estimate = est_string) NOTE: 463 observations removed because of NA values (LHS: 463). term result <char> <char> 1: (Intercept) b = 86.84 [85.92, 87.77], p < .001 2: conditionD2 b = 0.69 [-0.61, 2.00], p = .298 # some signal left? 3: scale(vote_chance_1) b = 21.00 [20.04, 21.96], p < .001 4: conditionD2 × scale(vote_chance_1) b = -1.16 [-2.51, 0.19], p = .092 ``` > We will fit a regression model predicting diff2 with diff1. diff2 ~ diff1 + t0 ```r > summ(feols(diff_vote_chance2 ~ diff_vote_chance1 + vote_chance_1, d3), estimate = est_string) NOTE: 463 observations removed because of NA values (LHS: 463). term result <char> <char> 1: (Intercept) b = 15.79 [13.41, 18.17], p < .001 2: diff_vote_chance1 b = 0.40 [0.33, 0.47], p < .001 3: vote_chance_1 b = -0.18 [-0.20, -0.15], p < .001 # ignore ``` > As robustness checks, we will also fit models assuming t2=t0 for participants who do not return to complete this follow-up survey (i.e., they have t0 and t1, but not t2 values). ```r > summ(feols(diff_vote_chance2imp ~ diff_vote_chance1 + vote_chance_1, d3), estimate = est_string) term result <char> <char> 1: (Intercept) b = 11.61 [9.68, 13.54], p < .001 2: diff_vote_chance1 b = 0.23 [0.18, 0.29], p < .001 3: vote_chance_1 b = -0.13 [-0.15, -0.11], p < .001 # ignore ``` > We will then fit the following mediation model: condition (treatment status from the experiment conducted a month ago) -> diff1 -> diff2 (i.e., a model where diff1 mediates the effect of condition on diff2, testing for an indirect effect). ```r Quasi-Bayesian Confidence Intervals Estimate 95% CI Lower 95% CI Upper p-value ACME 0.821 0.431 1.30 <2e-16 *** # indirect path ADE -0.168 -1.403 1.06 0.80 # direct path Total Effect 0.653 -0.608 1.98 0.33 Prop. Mediated 0.886 -10.590 12.52 0.33 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Sample Size Used: 1842 Simulations: 5000 ``` > As robustness checks, we will fit the mediation models assuming t2=t0 for participants who do not return to complete this follow-up survey. ```r Quasi-Bayesian Confidence Intervals Estimate 95% CI Lower 95% CI Upper p-value ACME 0.4861 0.2248 0.81 <2e-16 *** ADE 0.0399 -1.0268 1.06 0.94 Total Effect 0.5260 -0.5251 1.57 0.33 Prop. Mediated 0.6435 -7.2645 7.13 0.33 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Sample Size Used: 2305 Simulations: 5000 ```