m_v$cdu$right$lmtest
m_v$cdu$left$lmtest
m_v$cdu$non$lmtest
m_v6$cdu$all$lmtest
m_v6$cdu$right$lmtest
m_v6$cdu$left$lmtest
m_v6$cdu$non$lmtest
m_v7$cdu$all$lmtest
m_v7$cdu$right$lmtest
m_v7$cdu$left$lmtest
m_v7$cdu$non$lmtest
m_v8$cdu$all$lmtest
m_v8$cdu$right$lmtest
m_v8$cdu$left$lmtest
m_v8$cdu$non$lmtest
m_v_green %>%
ggplot( aes( x = estimate
, y = forcats::fct_rev( treatment )
, shape = forcats::fct_rev( vote ))) +
geom_vline( xintercept = 0 , linetype = 2 ) +
facet_wrap( ~group , nrow = 1 ) +
geom_errorbarh( aes( xmin = conf.low , xmax = conf.high )
, height = 0
, size = .6
, position = position_dodge( width = 0.3 )) +
geom_errorbarh( aes( xmin = ci.low90 , xmax = ci.high90 )
, size = 1
, height = 0
, position = position_dodge( width = 0.3 )) +
geom_point( position = position_dodge( width = 0.3 )
, size = 3
, fill = 'black' ) +
scale_x_continuous( name = 'AME of Displaying Margins of Error' ) +
scale_shape_manual( values = c( 21 , 22 , 23 , 24 )
, name = 'Vote Intention\nOperationalization' ) +
theme( legend.position = 'right' , axis.title.y = element_blank( ))
m_v$green$all$lmtest
m_v$green$right$lmtest
m_v$green$left$lmtest
m_v$green$non$lmtest
m_v6$green$all$lmtest
m_v6$green$right$lmtest
m_v6$green$left$lmtest
m_v6$green$non$lmtest
m_v7$green$all$lmtest
m_v7$green$right$lmtest
m_v7$green$left$lmtest
m_v7$green$non$lmtest
m_v8$green$all$lmtest
m_v8$green$right$lmtest
m_v8$green$left$lmtest
m_v8$green$non$lmtest
rm( list = ls( pattern = 'm_' ))
tbl_summary( d$xp_d %>% mutate( duration_imp = duration_imp )
, by = groups
, include = c( age ,  gender , edu , toc , east
, polint , right_leaning , left_leaning
, non_voters , device , duration_imp
)
, statistic = list( all_continuous( ) ~ '{mean} ({sd})' )
, digits = list( all_continuous( ) ~ c( 1 , 1 )),) %>%
add_p( test = list( all_categorical( ) ~ 'chisq.test'
, age ~ 'aov'
, duration_imp ~ 'aov' )) %>%
bold_labels( )
summary( m1 <- lm( avail ~ margins*frame*race , d$xp_d ))
summary( m2 <- lm( avail ~ margins*frame*race
, filter( d$xp_d , right_leaning == 1 )))
summary( m3 <- lm( avail ~ margins*frame*race
, filter( d$xp_d , left_leaning == 1 )))
summary( m4 <- lm( avail ~ margins*frame*race
, filter( d$xp_d , non_voters == 1 )))
plot.d <- ames( m1 , robust = FALSE ) %>%
mutate( group = 'All Respondents'  )
plot.d %<>% rbind( ames( m3 , robust = FALSE ) %>%
mutate( group = 'Left-Leaning Voters'  ))
plot.d %<>% rbind( ames( m2 , robust = FALSE ) %>%
mutate( group = 'Right-Leaning Voters'  ))
plot.d %<>% rbind( ames( m4 , robust = FALSE ) %>%
mutate( group = 'Non-Voters'  ))
plot.d %<>% rename.treatments(  )
plot.d %<>% relevel.groups(  )
plot.d %>%
ggplot( aes( x = estimate , y = forcats::fct_rev( treatment ))) +
geom_vline( xintercept = 0 ) +
facet_wrap( ~group , nrow = 1 ) +
geom_errorbarh( aes( xmin = conf.low , xmax = conf.high )
, height = 0
, size = .6
, position = position_dodge( width = 0.3 )) +
geom_errorbarh( aes( xmin = ci.low90 , xmax = ci.high90 )
, height = 0
, size = 1
, position = position_dodge( width = 0.3 )) +
geom_point( size = 3 , position = position_dodge( width = 0.3 )) +
scale_y_discrete( name = '' ) +
scale_x_continuous( name = 'AME of Displaying Margins of Error' ) +
theme( legend.position = 'right' )
rm( m1 , m2 , m3 , m4 , plot.d )
t <- d$xp_d %>% filter( turnout_prob <= 3 )
m_ptv <- model.run( dv = 'ptv_'
, data = t
, controls = 'none'
, model = 'lm' )
m_vote <- model.run( dv = '_vote'
, data = t
, controls = 'none'
, model = 'lm' )
summary( m_ptv$cdu$all$lm )
summary( m_ptv$cdu$right$lm )
summary( m_ptv$cdu$left$lm )
summary( m_ptv$cdu$non$lm )
m_vote$cdu$all$lmtest
m_vote$cdu$right$lmtest
m_vote$cdu$left$lmtest
m_vote$cdu$non$lmtest
summary( m_ptv$green$all$lm )
summary( m_ptv$green$right$lm )
summary( m_ptv$green$left$lm )
summary( m_ptv$green$non$lm )
m_vote$green$all$lmtest
m_vote$green$right$lmtest
m_vote$green$left$lmtest
m_vote$green$non$lmtest
plot.estimates( vote_models = m_vote
, ptv_models = m_ptv
, party = 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
plot.estimates( vote_models = m_vote
, ptv_models = m_ptv
, party = 'green'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
rm( list = ls( pattern = 'm_' ) , t )
models <- model.run( dv = '_vote'
, data = d$xp_d
, controls = 'none'
, model = 'logit' )
summary( models$cdu$all )
summary( models$cdu$right )
summary( models$cdu$left )
summary( models$cdu$non )
summary( models$green$all )
summary( models$green$right )
summary( models$green$left )
summary( models$green$non )
plot.estimates( vote_models = models
, party = 'cdu'
, model = 'logit'
, no_dvs = 1
, draw = T )
plot.estimates( vote_models = models
, party = 'green'
, model = 'logit'
, no_dvs = 1
, draw = T )
rm( models )
models <- model.run( dv = '_vote'
, data = d$xp_d
, controls = 'none'
, model = 'wls' )
summary( models$cdu$all )
summary( models$cdu$right )
summary( models$cdu$left )
summary( models$cdu$non )
summary( models$green$all )
summary( models$green$right )
summary( models$green$left )
summary( models$green$non )
plot.estimates( vote_models = models
, party = 'cdu'
, model = 'wls'
, no_dvs = 1
, draw = T )
plot.estimates( vote_models = models
, party = 'green'
, model = 'wls'
, no_dvs = 1
, draw = T )
rm( models )
m_ptv <- model.run( dv = 'ptv_'
, data = d$xp_d
, controls = 'full'
, model = 'lm' )
m_vote <- model.run( dv = '_vote'
, data = d$xp_d
, controls = 'full'
, model = 'lm' )
summary( m_ptv$cdu$all$lm )
summary( m_ptv$cdu$right$lm )
summary( m_ptv$cdu$left$lm )
summary( m_ptv$cdu$non$lm )
m_vote$cdu$all$lmtest
m_vote$cdu$right$lmtest
m_vote$cdu$left$lmtest
m_vote$cdu$non$lmtest
summary( m_ptv$green$all$lm )
summary( m_ptv$green$right$lm )
summary( m_ptv$green$left$lm )
summary( m_ptv$green$non$lm )
m_vote$green$all$lmtest
m_vote$green$right$lmtest
m_vote$green$left$lmtest
m_vote$green$non$lmtest
plot.estimates( vote_models = m_vote
, ptv_models = m_ptv
, party = 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = T )
plot.estimates( vote_models = m_vote
, ptv_models = m_ptv
, party = 'green'
, model = 'lm'
, no_dvs = 2
, draw = T )
rm( list = ls( pattern = 'm_' ))
m_ptv <- model.run( 'ptv_'
, d$xp_d
, controls = 'none'
, model = 'lm_prop' )
m_vote <- model.run( '_vote'
, d$xp_d
, controls = 'none'
, model = 'lm_prop' )
summary( m_ptv$cdu$all$lm )
summary( m_ptv$cdu$right$lm )
summary( m_ptv$cdu$left$lm )
summary( m_ptv$cdu$non$lm )
m_vote$cdu$all$lmtest
m_vote$cdu$right$lmtest
m_vote$cdu$left$lmtest
m_vote$cdu$non$lmtest
summary( m_ptv$green$all$lm )
summary( m_ptv$green$right$lm )
summary( m_ptv$green$left$lm )
summary( m_ptv$green$non$lm )
m_vote$green$all$lmtest
m_vote$green$right$lmtest
m_vote$green$left$lmtest
m_vote$green$non$lmtest
plot.estimates( m_vote
, m_ptv
, 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
plot.estimates( m_vote
, m_ptv
, 'green'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
rm( list = ls( pattern = 'm_' ))
t <- d$xp_d %>% filter( duration != -1 )
m_ptv <- model.run( 'ptv_'
, t
, controls = 'none'
, model = 'lm' )
m_vote <- model.run( '_vote'
, t
, controls = 'none'
, model = 'lm' )
summary( m_ptv$cdu$all$lm )
summary( m_ptv$cdu$right$lm )
summary( m_ptv$cdu$left$lm )
summary( m_ptv$cdu$non$lm )
m_vote$cdu$all$lmtest
m_vote$cdu$right$lmtest
m_vote$cdu$left$lmtest
m_vote$cdu$non$lmtest
summary( m_ptv$green$all$lm )
summary( m_ptv$green$right$lm )
summary( m_ptv$green$left$lm )
summary( m_ptv$green$non$lm )
m_vote$green$all$lmtest
m_vote$green$right$lmtest
m_vote$green$left$lmtest
m_vote$green$non$lmtest
plot.estimates( m_vote
, m_ptv
, 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
plot.estimates( m_vote
, m_ptv
, 'green'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
rm( list = ls( pattern = 'm_' ) , t )
m_ptv <- model.run( 'ptv_'
, d$xp_d
, controls = 'date'
, model = 'lm' )
m_vote <- model.run( '_vote'
, d$xp_d
, controls = 'date'
, model = 'lm' )
summary( m_ptv$cdu$all$lm )
summary( m_ptv$cdu$right$lm )
summary( m_ptv$cdu$left$lm )
summary( m_ptv$cdu$non$lm )
m_vote$cdu$all$lmtest
m_vote$cdu$right$lmtest
m_vote$cdu$left$lmtest
m_vote$cdu$non$lmtest
summary( m_ptv$green$all$lm )
summary( m_ptv$green$right$lm )
summary( m_ptv$green$left$lm )
summary( m_ptv$green$non$lm )
m_vote$green$all$lmtest
m_vote$green$right$lmtest
m_vote$green$left$lmtest
m_vote$green$non$lmtest
plot.estimates( m_vote
, m_ptv
, 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
plot.estimates( m_vote
, m_ptv
, 'green'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
rm( list = ls( pattern = 'm_' ))
summary( m1 <- lm( trust_poll ~ margins*frame*race , filter( d$xp_d )))
summary( m2 <- lm( trust_poll ~ margins*frame*race , filter( d$xp_d , right_leaning == 1 )))
summary( m3 <- lm( trust_poll ~ margins*frame*race , filter( d$xp_d , left_leaning == 1 )))
summary( m4 <- lm( trust_poll ~ margins*frame*race , filter( d$xp_d , non_voters == 1 )))
plot.d <- ames( m1 , robust = F ) %>%
mutate( group = 'All Respondents'  )
plot.d %<>% rbind( ames( m2 , robust = F ) %>%
mutate( group = 'Right-Leaning Voters'  ))
plot.d %<>% rbind( ames( m3 , robust = F ) %>%
mutate( group = 'Left-Leaning Voters'  ))
plot.d %<>% rbind( ames( m4 , robust = F ) %>%
mutate( group = 'Non-Voters'  ))
plot.d %<>% rename.treatments(  )
plot.d %<>% relevel.groups(  )
plot.ames( plot.d , no_dvs = 1 )
rm( m1 , m2 , m3 , m4 , plot.d )
t <- d$xp_d %>%
mutate( vote_retro = case_when(
turnout_retro_bt == 'no' ~ "Non-Vote"
, .default = vote_retro_bt_first )) %>%
group_by( vote_retro ) %>%
mutate( mean_avail = mean( avail , na.rm = TRUE )
, ci95_low = t.test( x = avail )$conf.int[ 1 ]
, ci95_upp = t.test( x = avail )$conf.int[ 2 ]
, ci90_low = t.test( x = avail , conf.level = .9 )$conf.int[ 1 ]
, ci90_upp = t.test( x = avail , conf.level = .9 )$conf.int[ 2 ] ) %>%
ungroup( ) %>%
select( vote_retro , mean_avail : ci90_upp ) %>%
unique( ) %>%
mutate( vote = 'Majoritarian Component' )
t <- d$xp_d %>%
mutate( vote_retro = case_when(
turnout_retro_bt == 'no' ~ "Non-Vote"
, .default = vote_retro_bt_second )) %>%
group_by( vote_retro ) %>%
mutate( mean_avail = mean( avail , na.rm = TRUE )
, ci95_low = t.test( x = avail )$conf.int[ 1 ]
, ci95_upp = t.test( x = avail )$conf.int[ 2 ]
, ci90_low = t.test( x = avail , conf.level = .9 )$conf.int[ 1 ]
, ci90_upp = t.test( x = avail , conf.level = .9 )$conf.int[ 2 ] ) %>%
ungroup( ) %>%
select( vote_retro , mean_avail : ci90_upp ) %>%
unique( ) %>%
mutate( vote = 'Proportional Component' ) %>%
full_join( t )
t %>%
filter( !is.na( vote_retro )) %>%
mutate( vote_retro = forcats::fct_relevel( vote_retro , c(
'CDU/CSU'
, 'The Greens'
, 'SPD'
, 'FDP'
, 'The Left'
, 'AfD'
, 'Others'
, 'Non-Vote'
, "Don't Know" ))) %>%
ggplot( aes( x = vote_retro
, y = mean_avail
, group = vote
, shape = vote ))  +
geom_point( position = position_dodge( width = .5 )) +
geom_errorbar( aes( ymin = ci95_low , ymax = ci95_upp )
, width = 0
, size = .6
, position = position_dodge( width = .5 )
) +
geom_errorbar( aes( ymin = ci90_low , ymax = ci90_upp )
, width = 0
, size = 1
, position = position_dodge( width = .5 )
) +
scale_y_continuous( name = 'Average Electoral Availability (0-5)' ) +
coord_cartesian( ylim = c( 1 , 3 )) +
scale_x_discrete( name = '2017 Vote Choice' ) +
theme( legend.position = 'bottom' )
m_ptv <- model.run.seca10( 'ptv_' , d$xp_d )
m_vote <- model.run.seca10( '_vote' , d$xp_d )
plot.estimates( m_vote
, m_ptv
, 'cdu'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
plot.estimates( m_vote
, m_ptv
, 'green'
, model = 'lm'
, no_dvs = 2
, draw = TRUE )
rm( list = ls( pattern = 'm_' ) , t )
m_ptv <- model.run.seca11( 'ptv_' , d$xp_d )
m_vote <- model.run.seca11( '_vote' , d$xp_d )
t <- plot.estimates.seca11( vote_models = m_vote
, ptv_models = m_ptv
, party = 'cdu' )
t %>%
filter( group %in% c( 'CDU/CSU' , 'Other Right' )) %>%
mutate( DV = forcats::fct_rev( factor( DV ) )) %>%
ggplot( aes( x = estimate
, y = forcats::fct_rev( treatment )
, shape = DV )) +
geom_vline( xintercept = 0 ) +
facet_wrap( ~group , nrow = 1 ) +
geom_errorbarh( aes( xmin = conf.low , xmax = conf.high )
, height = 0
, size = .6
, position = position_dodge( width = 0.3 )) +
geom_errorbarh( aes( xmin = ci.low90 , xmax = ci.high90 )
, height = 0
, size = 1
, position = position_dodge( width = 0.3 )) +
geom_point( position = position_dodge( width = 0.3 )
, fill = 'black' ) +
scale_y_discrete( name = '' ) +
scale_x_continuous( name = 'AME of Displaying Margins of Error' ) +
scale_shape_manual( values = c( 19 , 17 ))  +
theme( legend.position = 'right' )
t <- plot.estimates.seca11( vote_models = m_vote
, ptv_models = m_ptv
, party = 'green' )
t %>%
mutate( DV = forcats::fct_rev( factor( DV ) )) %>%
filter( group %in% c( 'Greens' , 'Other Left' )) %>%
ggplot( aes( x = estimate
, y = forcats::fct_rev( treatment )
, shape = DV )) +
geom_vline( xintercept = 0 ) +
facet_wrap( ~group , nrow = 1 ) +
geom_errorbarh( aes( xmin = conf.low , xmax = conf.high )
, height = 0
, size = .6
, position = position_dodge( width = 0.3 )) +
geom_errorbarh( aes( xmin = ci.low90 , xmax = ci.high90 )
, height = 0
, size = 1
, position = position_dodge( width = 0.3 )) +
geom_point( position = position_dodge( width = 0.3 ) , fill = 'black' ) +
scale_y_discrete( name = '' ) +
scale_x_continuous( name = 'AME of Displaying Margins of Error' ) +
scale_shape_manual( values = c( 21 , 24 ))  +
theme( legend.position = 'right' )
rm( list = ls( pattern = 'm_' ) , t )
m <- lm( formula = race_open ~ margins + frame + race , d$xp_d )
lmtest::coeftest( x = m , vcov. = sandwich::vcovHC( m , type = 'HC1' ))
rm( m )
model <- list( )
model$lm <- lm( formula = race_open ~ margins*frame*race , d$xp_d )
plot.d <- preds( model )
plot.d %<>%
mutate( treatment = ifelse( race == 'not contested' & frame == 'close'
, 'Race [–]\nInterp. [+]' , '' )
, treatment = ifelse( race == 'contested' & frame == 'close'
, 'Race [+]\nInterp. [+]' , treatment )
, treatment = ifelse( race == 'not contested' & frame == 'not close'
, 'Race [–]\nInterp. [–]' , treatment )
, treatment = ifelse( race == 'contested' & frame == 'not close'
, 'Race [+]\nInterp. [–]' , treatment ))
plot.d$treatment <- as.factor( plot.d$treatment )
plot.d$treatment <- ordered( plot.d$treatment
, levels = c( 'Race [+]\nInterp. [+]'
, 'Race [+]\nInterp. [–]'
, 'Race [–]\nInterp. [+]'
, 'Race [–]\nInterp. [–]' ))
plot.d %>%
ggplot( aes( y = estimate
, x = treatment
, group = margins
, fill = margins )) +
geom_errorbar( aes( ymin = conf.low , ymax = conf.high )
, width = 0
, position = position_dodge( width = 0.5 )) +
geom_point( position = position_dodge( width = 0.5 ) , shape = 21 ) +
scale_x_discrete( name = '' ) +
scale_y_continuous( name = 'Predicted Values for Closeness Perception (Binary)'
, limits = c( -.1 , 1 )) +
scale_fill_manual( values = c( 'black' , 'white' )) +
theme( legend.position = 'bottom' )
rm( list = ls( ))
cat( '\14' )
