TO DO LIST:

(1) recalculate product and make sure to recenter after (DONE)

(2) create extra long data set for W1vW2 contrast codes–24 rows per participant 15 media sources each wave (DONE)

(3) change long form models –> include (ANexp + AFexp | participant) (DONE; I give up…)

(4) run model: vaxxAttitude ~ W1vW2 + AFexp.c + ANexp.c + DvR + IvDR + (ANexp.c + AFexp.c | participant) (DONE; only converges with random int for participants)

(5) check model with and without (ANexp.c + AFexp.c | participant) + (1 | media) (DONE; media is singular so exclude)

(6) double check model: vaxxAttitudes_w2 ~ party * (vaxxAttitudes_w1 + ANexp_w1 + AFexp_w1 + ANexp_w2 + AFexp_w2) (DONE; doesn’t converge)

libraries and data sets

library(psych)
library(lme4)
## Loading required package: Matrix
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lmerTest)
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
library(lmSupport)
library(sjPlot)
## Registered S3 methods overwritten by 'parameters':
##   method                           from      
##   as.double.parameters_kurtosis    datawizard
##   as.double.parameters_skewness    datawizard
##   as.double.parameters_smoothness  datawizard
##   as.numeric.parameters_kurtosis   datawizard
##   as.numeric.parameters_skewness   datawizard
##   as.numeric.parameters_smoothness datawizard
##   print.parameters_distribution    datawizard
##   print.parameters_kurtosis        datawizard
##   print.parameters_skewness        datawizard
##   summary.parameters_kurtosis      datawizard
##   summary.parameters_skewness      datawizard
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble  3.1.3     v purrr   0.3.4
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x ggplot2::%+%()   masks psych::%+%()
## x ggplot2::alpha() masks psych::alpha()
## x tidyr::expand()  masks Matrix::expand()
## x dplyr::filter()  masks stats::filter()
## x dplyr::lag()     masks stats::lag()
## x tidyr::pack()    masks Matrix::pack()
## x tidyr::unpack()  masks Matrix::unpack()
library(irr)
## Loading required package: lpSolve
library(optimx)
## Warning: package 'optimx' was built under R version 4.1.2
library(parallel)
library(minqa)
library(dfoptim)

#import wave 1
d1 <- read.csv("C:/Users/Dani Grant/Dropbox/graduate school records/research projects/media polarization/Covid-19_NSF_RAPID_US_Cleaned1.csv", header = T, na.strings = c("", " ", NA), stringsAsFactors = F)

#import wave 2
d2 <- read.csv("C:/Users/Dani Grant/Dropbox/graduate school records/research projects/media polarization/Covid-19_NSF_RAPID_US_Wave2_Cleaned.csv", header = T, na.strings = c("", " ", NA), stringsAsFactors = F)

#import LIWC csv
liwc <- read.csv("C:/Users/Dani Grant/Dropbox/graduate school records/research projects/media polarization/LIWC_w1w2_Dec_2021.csv", header = T, na.strings = c("", " ", NA), stringsAsFactors = F)

LIWC wave 1 & wave 2

###################################
# Create LIWC rating averages for wave 1
###################################

#move over measures of interest
w1 <- data.frame(liwc[liwc$Wave == 1,])

w1 <- w1[,c("mediaOutlet", "analytic", "affect", "cogproc", "posemo", "negemo")]

# create wide data set for wave 2
w1w = w1 %>%
  group_by(mediaOutlet) %>% 
  mutate(Visit = 1:n()) %>% 
  gather("analytic",
         "affect",
         "cogproc",
         "posemo",
         "negemo",
         key = variable, 
         value = number) %>% 
  unite(combi, variable, Visit) %>%
  spread(combi, number)

##################
### calculate averages for each ratings
##################

#affect
affect <- cbind(w1w[paste0("affect_",1:21)])
AF <- apply(affect, MARGIN = 1, FUN = mean, na.rm = T)
#cognitive processing
cogproc <- data.frame(w1w[paste0("cogproc_",1:21)])
CP <- apply(cogproc, MARGIN = 1, FUN = mean, na.rm = T)
#positive emotions
pos <- data.frame(w1w[paste0("posemo_",1:21)])
PE <- apply(pos, MARGIN = 1, FUN = mean, na.rm = T)
#negative emotions
neg <- data.frame(w1w[paste0("negemo_",1:21)])
NE <- apply(neg, MARGIN = 1, FUN = mean, na.rm = T)
#analytic 
analytic <- data.frame(w1w[paste0("analytic_",1:21)])
AN <- apply(analytic, MARGIN = 1, FUN = mean, na.rm = T)

#add them all to new data.frame
w1 <- data.frame(w1w$mediaOutlet)
colnames(w1)[colnames(w1)=="w1w.mediaOutlet"] <- "mediaOutlet"
w1$affect <- AF
w1$cogproc <- CP
w1$analytic <- AN
w1$posemo <- PE
w1$negemo <- NE


##############################################
# Create LIWC rating averages for wave 2
##############################################

#move over measures of interest
w2 <- data.frame(liwc[liwc$Wave == 2,])

w2 <- w2[,c("mediaOutlet", "analytic", "affect", "cogproc", "posemo", "negemo")]

# create wide data set for wave 2
w2w = w2 %>% 
  group_by(mediaOutlet) %>% 
  mutate(Visit = 1:n()) %>% 
  gather("analytic",
         "affect",
         "cogproc",
         "posemo",
         "negemo",
         key = variable, 
         value = number) %>% 
  unite(combi, variable, Visit) %>%
  spread(combi, number)

##################
### calculate averages for each ratings
##################

#affect
affect <- cbind(w2w[paste0("affect_",1:22)])
AF <- apply(affect, MARGIN = 1, FUN = mean, na.rm = T)
#cognitive processing
cogproc <- data.frame(w2w[paste0("cogproc_",1:22)])
CP <- apply(cogproc, MARGIN = 1, FUN = mean, na.rm = T)
#positive emotions
pos <- data.frame(w2w[paste0("posemo_",1:22)])
PE <- apply(pos, MARGIN = 1, FUN = mean, na.rm = T)
#negative emotions
neg <- data.frame(w2w[paste0("negemo_",1:22)])
NE <- apply(neg, MARGIN = 1, FUN = mean, na.rm = T)
#analytic 
analytic <- data.frame(w2w[paste0("analytic_",1:22)])
AN <- apply(analytic, MARGIN = 1, FUN = mean, na.rm = T)

#add them all to new data.frame
w2 <- data.frame(w2w$mediaOutlet)
colnames(w2)[colnames(w2) == "w2w.mediaOutlet"] <- "mediaOutlet"
w2$affect   <- AF
w2$cogproc  <- CP
w2$analytic <- AN
w2$posemo   <- PE
w2$negemo   <- NE

(1)

prep wave 1 data

#delete any measures we don't want---exclude media exposure #3, #8, and #9
d1 <- d1[,c("s3", "Wave", "risk3", "risk4", "risk5", "risk6",
            "demStrength", "repStrength", "partyClose", "vaxxAttitudes",
            "mediaExposure_1", "mediaExposure_2", "mediaExposure_4",
            "mediaExposure_5", "mediaExposure_6", "mediaExposure_7", 
            "mediaExposure_10", "mediaExposure_11", "mediaExposure_12",
            "mediaExposure_13",  "mediaExposure_14", "mediaExposure_15")]

#rename exposure
colnames(d1)[colnames(d1)=="mediaExposure_1"] <- "NYT_exp"
colnames(d1)[colnames(d1)=="mediaExposure_2"] <- "WSJ_exp"
#colnames(d1)[colnames(d1)=="mediaExposure_3"] <- "Wash_exp"
colnames(d1)[colnames(d1)=="mediaExposure_4"] <- "USAT_exp"
colnames(d1)[colnames(d1)=="mediaExposure_5"] <- "Fox_exp"
colnames(d1)[colnames(d1)=="mediaExposure_6"] <- "CNN_exp"
colnames(d1)[colnames(d1)=="mediaExposure_7"] <- "MSNBC_exp"
#colnames(d1)[colnames(d1)=="mediaExposure_8"] <- "Yahoo_exp"
#colnames(d1)[colnames(d1)=="mediaExposure_9"] <- "Huff_exp"
colnames(d1)[colnames(d1)=="mediaExposure_10"] <- "AOL_exp"
colnames(d1)[colnames(d1)=="mediaExposure_11"] <- "NPR_exp"
colnames(d1)[colnames(d1)=="mediaExposure_12"] <- "ABC_exp"
colnames(d1)[colnames(d1)=="mediaExposure_13"] <- "NBC_exp"
colnames(d1)[colnames(d1)=="mediaExposure_14"] <- "CBS_exp"
colnames(d1)[colnames(d1)=="mediaExposure_15"] <- "PBS_exp"

## missing Yahoo, Huff Post, Wash Post

## affect
d1$ABC_AF   <- w1$affect[w1$mediaOutlet == "ABC"]
d1$CBS_AF   <- w1$affect[w1$mediaOutlet == "CBS"]
d1$CNN_AF   <- w1$affect[w1$mediaOutlet == "CNN"]
d1$Fox_AF   <- w1$affect[w1$mediaOutlet == "Fox"]
d1$MSNBC_AF <- w1$affect[w1$mediaOutlet == "MSNBC"]
d1$NBC_AF   <- w1$affect[w1$mediaOutlet == "NBC"]
d1$NPR_AF   <- w1$affect[w1$mediaOutlet == "NPR"]
d1$NYT_AF   <- w1$affect[w1$mediaOutlet == "NYT"]
d1$PBS_AF   <- w1$affect[w1$mediaOutlet == "PBS"]
d1$USAT_AF  <- w1$affect[w1$mediaOutlet == "USAToday"]
d1$WSJ_AF   <- w1$affect[w1$mediaOutlet == "WSJ"]
d1$AOL_AF   <- w1$affect[w1$mediaOutlet == "AOL"]

#cognitive processing
d1$ABC_CP   <- w1$cogproc[w1$mediaOutlet == "ABC"]
d1$CBS_CP   <- w1$cogproc[w1$mediaOutlet == "CBS"]
d1$CNN_CP   <- w1$cogproc[w1$mediaOutlet == "CNN"]
d1$Fox_CP   <- w1$cogproc[w1$mediaOutlet == "Fox"]
d1$MSNBC_CP <- w1$cogproc[w1$mediaOutlet == "MSNBC"]
d1$NBC_CP   <- w1$cogproc[w1$mediaOutlet == "NBC"]
d1$NPR_CP   <- w1$cogproc[w1$mediaOutlet == "NPR"]
d1$NYT_CP   <- w1$cogproc[w1$mediaOutlet == "NYT"]
d1$PBS_CP   <- w1$cogproc[w1$mediaOutlet == "PBS"]
d1$USAT_CP  <- w1$cogproc[w1$mediaOutlet == "USAToday"]
d1$WSJ_CP   <- w1$cogproc[w1$mediaOutlet == "WSJ"]
d1$AOL_CP   <- w1$cogproc[w1$mediaOutlet == "AOL"]

## analytic thinking
d1$ABC_AN   <- w1$analytic[w1$mediaOutlet == "ABC"]
d1$CBS_AN   <- w1$analytic[w1$mediaOutlet == "CBS"]
d1$CNN_AN   <- w1$analytic[w1$mediaOutlet == "CNN"]
d1$Fox_AN   <- w1$analytic[w1$mediaOutlet == "Fox"]
d1$MSNBC_AN <- w1$analytic[w1$mediaOutlet == "MSNBC"]
d1$NBC_AN   <- w1$analytic[w1$mediaOutlet == "NBC"]
d1$NPR_AN   <- w1$analytic[w1$mediaOutlet == "NPR"]
d1$NYT_AN   <- w1$analytic[w1$mediaOutlet == "NYT"]
d1$PBS_AN   <- w1$analytic[w1$mediaOutlet == "PBS"]
d1$USAT_AN  <- w1$analytic[w1$mediaOutlet == "USAToday"]
d1$WSJ_AN   <- w1$analytic[w1$mediaOutlet == "WSJ"]
d1$AOL_AN   <- w1$analytic[w1$mediaOutlet == "AOL"]

## positive emotions 
d1$ABC_PE   <- w1$posemo[w1$mediaOutlet == "ABC"]
d1$CBS_PE   <- w1$posemo[w1$mediaOutlet == "CBS"]
d1$CNN_PE   <- w1$posemo[w1$mediaOutlet == "CNN"]
d1$Fox_PE   <- w1$posemo[w1$mediaOutlet == "Fox"]
d1$MSNBC_PE <- w1$posemo[w1$mediaOutlet == "MSNBC"]
d1$NBC_PE   <- w1$posemo[w1$mediaOutlet == "NBC"]
d1$NPR_PE   <- w1$posemo[w1$mediaOutlet == "NPR"]
d1$NYT_PE   <- w1$posemo[w1$mediaOutlet == "NYT"]
d1$PBS_PE   <- w1$posemo[w1$mediaOutlet == "PBS"]
d1$USAT_PE  <- w1$posemo[w1$mediaOutlet == "USAToday"]
d1$WSJ_PE   <- w1$posemo[w1$mediaOutlet == "WSJ"]
d1$AOL_PE   <- w1$posemo[w1$mediaOutlet == "AOL"]

#### negative emotion
d1$ABC_NE   <- w1$negemo[w1$mediaOutlet == "ABC"]
d1$CBS_NE   <- w1$negemo[w1$mediaOutlet == "CBS"]
d1$CNN_NE   <- w1$negemo[w1$mediaOutlet == "CNN"]
d1$Fox_NE   <- w1$negemo[w1$mediaOutlet == "Fox"]
d1$MSNBC_NE <- w1$negemo[w1$mediaOutlet == "MSNBC"]
d1$NBC_NE   <- w1$negemo[w1$mediaOutlet == "NBC"]
d1$NPR_NE   <- w1$negemo[w1$mediaOutlet == "NPR"]
d1$NYT_NE   <- w1$negemo[w1$mediaOutlet == "NYT"]
d1$PBS_NE   <- w1$negemo[w1$mediaOutlet == "PBS"]
d1$USAT_NE  <- w1$negemo[w1$mediaOutlet == "USAToday"]
d1$WSJ_NE   <- w1$negemo[w1$mediaOutlet == "WSJ"]
d1$AOL_NE   <- w1$negemo[w1$mediaOutlet == "AOL"]

#####################################################
# codes for party
####################################################

d1$partyCont <- NA
d1$partyCont[d1$demStrength == 1] <- -3
d1$partyCont[d1$demStrength == 2] <- -2
d1$partyCont[d1$partyClose  == 1] <- -1
d1$partyCont[d1$partyClose  == 3] <- 0
d1$partyCont[d1$repStrength == 1] <- 3
d1$partyCont[d1$repStrength == 2] <- 2
d1$partyCont[d1$partyClose  == 2] <- 1

# party factor
d1$party_factor <- NA
d1$party_factor[d1$partyCont < 0]  <- 'Democrat'
d1$party_factor[d1$partyCont == 0] <- 'Independent'
d1$party_factor[d1$partyCont > 0]  <- 'Republican'

## Order of party variable
d1$party_factor <- factor(d1$party_factor, 
                          levels = c('Democrat', 'Republican', 'Independent'))

## Contrast codes
d1$pDem_Rep <- NA
d1$pDem_Rep[d1$party_factor == 'Democrat']    <- -.5
d1$pDem_Rep[d1$party_factor == 'Independent'] <- 0
d1$pDem_Rep[d1$party_factor == 'Republican']  <- .5

d1$pInd_Not <- NA
d1$pInd_Not[d1$party_factor == 'Democrat']    <- .33
d1$pInd_Not[d1$party_factor == 'Independent'] <- -.67
d1$pInd_Not[d1$party_factor == 'Republican']  <- .33

### dummy democrat
d1$pDemR[d1$party_factor == 'Democrat']    <- 0
d1$pDemR[d1$party_factor == 'Republican']  <- 1
d1$pDemR[d1$party_factor == 'Independent'] <- 0

d1$pDemI[d1$party_factor == 'Democrat']    <- 0
d1$pDemI[d1$party_factor == 'Republican']  <- 0
d1$pDemI[d1$party_factor == 'Independent'] <- 1

### dummy republican
d1$pRepD[d1$party_factor == 'Democrat']    <- 1
d1$pRepD[d1$party_factor == 'Republican']  <- 0
d1$pRepD[d1$party_factor == 'Independent'] <- 0

d1$pRepI[d1$party_factor == 'Democrat']    <- 0
d1$pRepI[d1$party_factor == 'Republican']  <- 0
d1$pRepI[d1$party_factor == 'Independent'] <- 1

### dummy independent
d1$pIndD[d1$party_factor == 'Democrat']    <- 1
d1$pIndD[d1$party_factor == 'Republican']  <- 0
d1$pIndD[d1$party_factor == 'Independent'] <- 0

d1$pIndR[d1$party_factor == 'Democrat']    <- 0
d1$pIndR[d1$party_factor == 'Republican']  <- 1
d1$pIndR[d1$party_factor == 'Independent'] <- 0

## delete unnecessary columns
d1$party <- NULL
d1$demStrength <- NULL
d1$repStrength <- NULL
d1$partyClose <- NULL

###################################
#
# Prep long wave 1 data set
#
###################################

dAN <- d1 %>% pivot_longer(c(ABC_AN, 
                             CBS_AN, 
                             CNN_AN, 
                             Fox_AN, 
                             MSNBC_AN, 
                             NBC_AN, 
                             NPR_AN, 
                             NYT_AN, 
                             PBS_AN, 
                             USAT_AN, 
                             WSJ_AN,
                             AOL_AN), 
                           names_to = "media", values_to = "analytic")

dAF <- d1 %>% pivot_longer(c(ABC_AF, 
                              CBS_AF, 
                              CNN_AF, 
                              Fox_AF, 
                              MSNBC_AF, 
                              NBC_AF, 
                              NPR_AF, 
                              NYT_AF, 
                              PBS_AF, 
                              USAT_AF, 
                              WSJ_AF,
                              AOL_AF), 
                            names_to = "media", values_to = "affect")

dCP <- d1 %>% pivot_longer(c(ABC_CP, 
                             CBS_CP, 
                             CNN_CP, 
                             Fox_CP, 
                             MSNBC_CP, 
                             NBC_CP, 
                             NPR_CP, 
                             NYT_CP, 
                             PBS_CP, 
                             USAT_CP, 
                             WSJ_CP,
                             AOL_CP), 
                           names_to = "media", values_to = "cogproc")

dPE <- d1 %>% pivot_longer(c(ABC_PE, 
                             CBS_PE, 
                             CNN_PE, 
                             Fox_PE, 
                             MSNBC_PE, 
                             NBC_PE, 
                             NPR_PE, 
                             NYT_PE, 
                             PBS_PE, 
                             USAT_PE, 
                             WSJ_PE,
                             AOL_PE), 
                           names_to = "media", values_to = "posemo")

dNE <- d1 %>% pivot_longer(c(ABC_NE, 
                             CBS_NE, 
                             CNN_NE, 
                             Fox_NE, 
                             MSNBC_NE, 
                             NBC_NE, 
                             NPR_NE, 
                             NYT_NE, 
                             PBS_NE, 
                             USAT_NE, 
                             WSJ_NE,
                             AOL_NE), 
                           names_to = "media", values_to = "negemo")

dexp <- d1 %>% pivot_longer(c(ABC_exp, 
                              CBS_exp, 
                              CNN_exp, 
                              Fox_exp, 
                              MSNBC_exp, 
                              NBC_exp, 
                              NPR_exp, 
                              NYT_exp, 
                              PBS_exp, 
                              USAT_exp, 
                              WSJ_exp,
                              AOL_exp), 
                            names_to = "media", values_to = "exposure")


dl1 <- data.frame(dAN$s3)
colnames(dl1)[colnames(dl1) == "dAN.s3"] <- "participant"
dl1$wave <- dAF$Wave

#riskSeverity
dl1$risk3        <- dAF$risk3
dl1$risk4        <- dAF$risk4
dl1$risk5        <- dAF$risk5
dl1$riskSeverity <- (dl1$risk3 + dl1$risk4 + dl1$risk5)/3

#risk6 = worst of covid ahead or behind?
#dl1$worstBorA <- dAF$risk6

#vaccine attitudes
dl1$vaxxAttitudes <- dAF$vaxxAttitudes
#dl1$vulnerableWorker <- dAF$vulnerableWorker

#dl1$Policy_Condition <- dAF$Policy_Condition
#dl1$Policy_Group     <- dAF$Policy_Group
#dl1$Policy_Frame     <- dAF$Policy_Frame
#dl1$policySupport_1  <- dAF$policySupport_1
#dl1$policySupport_2  <- dAF$policySupport_2
#dl1$policySupport_3  <- dAF$policySupport_3
#dl1$policySupport_4  <- dAF$policySupport_4
#dl1$policySupport_5  <- dAF$policySupport_5

#LIWC measures
dl1$media    <- dAN$media
dl1$exposure <- dexp$exposure
dl1$analytic <- dAN$analytic
dl1$affect   <- dAF$affect
dl1$cogProc  <- dCP$cogproc
dl1$posemo   <- dPE$posemo
dl1$negemo   <- dNE$negemo

#individual media  
dl1$AFexp <- dl1$exposure * dl1$affect
dl1$CPexp <- dl1$exposure * dl1$cogProc 
dl1$ANexp <- dl1$exposure * dl1$analytic
dl1$PEexp <- dl1$exposure * dl1$posemo
dl1$NEexp <- dl1$exposure * dl1$negemo 

#mean center
dl1$AFexp.c <- dl1$AFexp - mean(dl1$AFexp, na.rm = T)
dl1$CPexp.c <- dl1$CPexp - mean(dl1$CPexp, na.rm = T)
dl1$ANexp.c <- dl1$ANexp - mean(dl1$ANexp, na.rm = T)
dl1$PEexp.c <- dl1$PEexp - mean(dl1$PEexp, na.rm = T)
dl1$NEexp.c <- dl1$NEexp - mean(dl1$NEexp, na.rm = T)

#party
dl1$party_factor <- dAF$party_factor

dl1$pDem_Rep <- dAF$pDem_Rep
dl1$pInd_Not <- dAF$pInd_Not

dl1$pDemR <- dAF$pDemR
dl1$pDemI <- dAF$pDemI                 

dl1$pRepD <- dAF$pRepD
dl1$pRepI <- dAF$pRepI

dl1$pIndD <- dAF$pIndD 
dl1$pIndR <- dAF$pIndR

prep wave 2 data

#delete any measures we don't want---exclude media exposure #3, #8, and #9
## missing Yahoo, Huff Post, Wash Post
d2 <- d2[,c("s3", "Wave", "risk3", "risk4", "risk5", "risk6",
            "demStrength", "repStrength", "partyClose", "vaxxAttitudes",
            "mediaExposure_1", "mediaExposure_2", "mediaExposure_4",
            "mediaExposure_5", "mediaExposure_6", "mediaExposure_7", 
            "mediaExposure_10", "mediaExposure_11", "mediaExposure_12",
            "mediaExposure_13",  "mediaExposure_14", "mediaExposure_15")]

#rename exposure
colnames(d2)[colnames(d2) == "mediaExposure_1"]  <- "NYT_exp"
colnames(d2)[colnames(d2) == "mediaExposure_2"]  <- "WSJ_exp"
#colnames(d2)[colnames(d2) == "mediaExposure_3"]  <- "Wash_exp"
colnames(d2)[colnames(d2) == "mediaExposure_4"]  <- "USAT_exp"
colnames(d2)[colnames(d2) == "mediaExposure_5"]  <- "Fox_exp"
colnames(d2)[colnames(d2) == "mediaExposure_6"]  <- "CNN_exp"
colnames(d2)[colnames(d2) == "mediaExposure_7"]  <- "MSNBC_exp"
#colnames(d2)[colnames(d2) == "mediaExposure_8"]  <- "Yahoo_exp"
#colnames(d2)[colnames(d2) == "mediaExposure_9"]  <- "Huff_exp"
colnames(d2)[colnames(d2) == "mediaExposure_10"] <- "AOL_exp"
colnames(d2)[colnames(d2) == "mediaExposure_11"] <- "NPR_exp"
colnames(d2)[colnames(d2) == "mediaExposure_12"] <- "ABC_exp"
colnames(d2)[colnames(d2) == "mediaExposure_13"] <- "NBC_exp"
colnames(d2)[colnames(d2) == "mediaExposure_14"] <- "CBS_exp"
colnames(d2)[colnames(d2) == "mediaExposure_15"] <- "PBS_exp"

## affect
d2$ABC_AF   <- w2$affect[w2$mediaOutlet == "ABC"]
d2$CBS_AF   <- w2$affect[w2$mediaOutlet == "CBS"]
d2$CNN_AF   <- w2$affect[w2$mediaOutlet == "CNN"]
d2$Fox_AF   <- w2$affect[w2$mediaOutlet == "Fox"]
d2$MSNBC_AF <- w2$affect[w2$mediaOutlet == "MSNBC"]
d2$NBC_AF   <- w2$affect[w2$mediaOutlet == "NBC"]
d2$NPR_AF   <- w2$affect[w2$mediaOutlet == "NPR"]
d2$NYT_AF   <- w2$affect[w2$mediaOutlet == "NYT"]
d2$PBS_AF   <- w2$affect[w2$mediaOutlet == "PBS"]
d2$USAT_AF  <- w2$affect[w2$mediaOutlet == "USAToday"]
d2$WSJ_AF   <- w2$affect[w2$mediaOutlet == "WSJ"]
d2$AOL_AF   <- w2$affect[w2$mediaOutlet == "AOL"]

#cognitive processing
d2$ABC_CP   <- w2$cogproc[w2$mediaOutlet == "ABC"]
d2$CBS_CP   <- w2$cogproc[w2$mediaOutlet == "CBS"]
d2$CNN_CP   <- w2$cogproc[w2$mediaOutlet == "CNN"]
d2$Fox_CP   <- w2$cogproc[w2$mediaOutlet == "Fox"]
d2$MSNBC_CP <- w2$cogproc[w2$mediaOutlet == "MSNBC"]
d2$NBC_CP   <- w2$cogproc[w2$mediaOutlet == "NBC"]
d2$NPR_CP   <- w2$cogproc[w2$mediaOutlet == "NPR"]
d2$NYT_CP   <- w2$cogproc[w2$mediaOutlet == "NYT"]
d2$PBS_CP   <- w2$cogproc[w2$mediaOutlet == "PBS"]
d2$USAT_CP  <- w2$cogproc[w2$mediaOutlet == "USAToday"]
d2$WSJ_CP   <- w2$cogproc[w2$mediaOutlet == "WSJ"]
d2$AOL_CP   <- w2$cogproc[w2$mediaOutlet == "AOL"]

## analytic thinking
d2$ABC_AN   <- w2$analytic[w2$mediaOutlet == "ABC"]
d2$CBS_AN   <- w2$analytic[w2$mediaOutlet == "CBS"]
d2$CNN_AN   <- w2$analytic[w2$mediaOutlet == "CNN"]
d2$Fox_AN   <- w2$analytic[w2$mediaOutlet == "Fox"]
d2$MSNBC_AN <- w2$analytic[w2$mediaOutlet == "MSNBC"]
d2$NBC_AN   <- w2$analytic[w2$mediaOutlet == "NBC"]
d2$NPR_AN   <- w2$analytic[w2$mediaOutlet == "NPR"]
d2$NYT_AN   <- w2$analytic[w2$mediaOutlet == "NYT"]
d2$PBS_AN   <- w2$analytic[w2$mediaOutlet == "PBS"]
d2$USAT_AN  <- w2$analytic[w2$mediaOutlet == "USAToday"]
d2$WSJ_AN   <- w2$analytic[w2$mediaOutlet == "WSJ"]
d2$AOL_AN   <- w2$analytic[w2$mediaOutlet == "AOL"]

## positive emotions 
d2$ABC_PE   <- w2$posemo[w2$mediaOutlet == "ABC"]
d2$CBS_PE   <- w2$posemo[w2$mediaOutlet == "CBS"]
d2$CNN_PE   <- w2$posemo[w2$mediaOutlet == "CNN"]
d2$Fox_PE   <- w2$posemo[w2$mediaOutlet == "Fox"]
d2$MSNBC_PE <- w2$posemo[w2$mediaOutlet == "MSNBC"]
d2$NBC_PE   <- w2$posemo[w2$mediaOutlet == "NBC"]
d2$NPR_PE   <- w2$posemo[w2$mediaOutlet == "NPR"]
d2$NYT_PE   <- w2$posemo[w2$mediaOutlet == "NYT"]
d2$PBS_PE   <- w2$posemo[w2$mediaOutlet == "PBS"]
d2$USAT_PE  <- w2$posemo[w2$mediaOutlet == "USAToday"]
d2$WSJ_PE   <- w2$posemo[w2$mediaOutlet == "WSJ"]
d2$AOL_PE   <- w2$posemo[w2$mediaOutlet == "AOL"]

#### negative emotion
d2$ABC_NE   <- w2$negemo[w2$mediaOutlet == "ABC"]
d2$CBS_NE   <- w2$negemo[w2$mediaOutlet == "CBS"]
d2$CNN_NE   <- w2$negemo[w2$mediaOutlet == "CNN"]
d2$Fox_NE   <- w2$negemo[w2$mediaOutlet == "Fox"]
d2$MSNBC_NE <- w2$negemo[w2$mediaOutlet == "MSNBC"]
d2$NBC_NE   <- w2$negemo[w2$mediaOutlet == "NBC"]
d2$NPR_NE   <- w2$negemo[w2$mediaOutlet == "NPR"]
d2$NYT_NE   <- w2$negemo[w2$mediaOutlet == "NYT"]
d2$PBS_NE   <- w2$negemo[w2$mediaOutlet == "PBS"]
d2$USAT_NE  <- w2$negemo[w2$mediaOutlet == "USAToday"]
d2$WSJ_NE   <- w2$negemo[w2$mediaOutlet == "WSJ"]
d2$AOL_NE   <- w2$negemo[w2$mediaOutlet == "AOL"]

#####################################################
# codes for party
####################################################

d2$partyCont <- NA
d2$partyCont[d2$demStrength == 1] <- -3
d2$partyCont[d2$demStrength == 2] <- -2
d2$partyCont[d2$partyClose  == 1] <- -1
d2$partyCont[d2$partyClose  == 3] <- 0
d2$partyCont[d2$repStrength == 1] <- 3
d2$partyCont[d2$repStrength == 2] <- 2
d2$partyCont[d2$partyClose  == 2] <- 1

# party factor
d2$party_factor <- NA
d2$party_factor[d2$partyCont < 0]  <- 'Democrat'
d2$party_factor[d2$partyCont == 0] <- 'Independent'
d2$party_factor[d2$partyCont > 0]  <- 'Republican'

## Order of party variable
d2$party_factor <- factor(d2$party_factor, 
                          levels = c('Democrat', 'Republican','Independent'))

## Contrast codes
d2$pDem_Rep <- NA
d2$pDem_Rep[d2$party_factor == 'Democrat']    <- -.5
d2$pDem_Rep[d2$party_factor == 'Independent'] <-   0
d2$pDem_Rep[d2$party_factor == 'Republican']  <-  .5

d2$pInd_Not <- NA
d2$pInd_Not[d2$party_factor == 'Democrat']    <-  .33
d2$pInd_Not[d2$party_factor == 'Independent'] <- -.67
d2$pInd_Not[d2$party_factor == 'Republican']  <-  .33

## Dummy codes 

### democrat
d2$pDemR[d2$party_factor == 'Democrat']    <- 0
d2$pDemR[d2$party_factor == 'Republican']  <- 1
d2$pDemR[d2$party_factor == 'Independent'] <- 0

d2$pDemI[d2$party_factor == 'Democrat']    <- 0
d2$pDemI[d2$party_factor == 'Republican']  <- 0
d2$pDemI[d2$party_factor == 'Independent'] <- 1

### republican
d2$pRepD[d2$party_factor == 'Democrat']    <- 1
d2$pRepD[d2$party_factor == 'Republican']  <- 0
d2$pRepD[d2$party_factor == 'Independent'] <- 0

d2$pRepI[d2$party_factor == 'Democrat']    <- 0
d2$pRepI[d2$party_factor == 'Republican']  <- 0
d2$pRepI[d2$party_factor == 'Independent'] <- 1

### independent
d2$pIndD[d2$party_factor == 'Democrat']    <- 1
d2$pIndD[d2$party_factor == 'Republican']  <- 0
d2$pIndD[d2$party_factor == 'Independent'] <- 0

d2$pIndR[d2$party_factor == 'Democrat']    <- 0
d2$pIndR[d2$party_factor == 'Republican']  <- 1
d2$pIndR[d2$party_factor == 'Independent'] <- 0

## delete unnecessary columns
d2$party <- NULL
d2$demStrength <- NULL
d2$repStrength <- NULL
d2$partyClose <- NULL

###################################
#
# Prep long wave 2 data set
#
###################################

dAN <- d2 %>% pivot_longer(c(ABC_AN, 
                             CBS_AN, 
                             CNN_AN, 
                             Fox_AN, 
                             MSNBC_AN, 
                             NBC_AN, 
                             NPR_AN, 
                             NYT_AN, 
                             PBS_AN, 
                             USAT_AN, 
                             WSJ_AN,
                             AOL_AN), 
                           names_to = "media", values_to = "analytic")

dAF <- d2 %>% pivot_longer(c(ABC_AF, 
                              CBS_AF, 
                              CNN_AF, 
                              Fox_AF, 
                              MSNBC_AF, 
                              NBC_AF, 
                              NPR_AF, 
                              NYT_AF, 
                              PBS_AF, 
                              USAT_AF, 
                              WSJ_AF,
                              AOL_AF), 
                            names_to = "media", values_to = "affect")

dCP <- d2 %>% pivot_longer(c(ABC_CP, 
                             CBS_CP, 
                             CNN_CP, 
                             Fox_CP, 
                             MSNBC_CP, 
                             NBC_CP, 
                             NPR_CP, 
                             NYT_CP, 
                             PBS_CP, 
                             USAT_CP, 
                             WSJ_CP,
                             AOL_CP), 
                           names_to = "media", values_to = "cogproc")

dPE <- d2 %>% pivot_longer(c(ABC_PE, 
                             CBS_PE, 
                             CNN_PE, 
                             Fox_PE, 
                             MSNBC_PE, 
                             NBC_PE, 
                             NPR_PE, 
                             NYT_PE, 
                             PBS_PE, 
                             USAT_PE, 
                             WSJ_PE,
                             AOL_PE), 
                           names_to = "media", values_to = "posemo")

dNE <- d2 %>% pivot_longer(c(ABC_NE, 
                             CBS_NE, 
                             CNN_NE, 
                             Fox_NE, 
                             MSNBC_NE, 
                             NBC_NE, 
                             NPR_NE, 
                             NYT_NE, 
                             PBS_NE, 
                             USAT_NE, 
                             WSJ_NE,
                             AOL_NE), 
                           names_to = "media", values_to = "negemo")

dexp <- d2 %>% pivot_longer(c(ABC_exp, 
                              CBS_exp, 
                              CNN_exp, 
                              Fox_exp, 
                              MSNBC_exp, 
                              NBC_exp, 
                              NPR_exp, 
                              NYT_exp, 
                              PBS_exp, 
                              USAT_exp, 
                              WSJ_exp,
                              AOL_exp), 
                            names_to = "media", values_to = "exposure")


dl2 <- data.frame(dAN$s3)
colnames(dl2)[colnames(dl2)=="dAN.s3"] <- "participant"
dl2$wave <- dAF$Wave

#riskSeverity
dl2$risk3 <- dAF$risk3
dl2$risk4 <- dAF$risk4
dl2$risk5 <- dAF$risk5
dl2$riskSeverity <- (dl2$risk3 + dl2$risk4 + dl2$risk5)/3

#vaccine attitudes
dl2$vaxxAttitudes <- dAF$vaxxAttitudes
#dl2$Policy_Condition<- dAF$Policy_Condition
#dl2$Policy_Group<- dAF$Policy_Group
#dl2$Policy_Frame<- dAF$Policy_Frame
#dl2$policySupport <- dAF$policySupport

# risk6 = worst of covid ahead or behind?
#dl2$worstBorA <- dAF$risk6

#LIWC measures
dl2$media    <- dAN$media
dl2$exposure <- dexp$exposure
dl2$analytic <- dAN$analytic
dl2$affect   <- dAF$affect
dl2$cogProc  <- dCP$cogproc
dl2$posemo   <- dPE$posemo
dl2$negemo   <- dNE$negemo

#individual media  
dl2$AFexp <- dl2$exposure * dl2$affect
dl2$CPexp <- dl2$exposure * dl2$cogProc 
dl2$ANexp <- dl2$exposure * dl2$analytic
dl2$PEexp <- dl2$exposure * dl2$posemo
dl2$NEexp <- dl2$exposure * dl2$negemo 

#mean center
dl2$AFexp.c <- dl2$AFexp - mean(dl2$AFexp, na.rm = T)
dl2$CPexp.c <- dl2$CPexp - mean(dl2$CPexp, na.rm = T)
dl2$ANexp.c <- dl2$ANexp - mean(dl2$ANexp, na.rm = T)
dl2$PEexp.c <- dl2$PEexp - mean(dl2$PEexp, na.rm = T)
dl2$NEexp.c <- dl2$NEexp - mean(dl2$NEexp, na.rm = T)

#party
dl2$party_factor <- dAF$party_factor
dl2$pDem_Rep <-dAF$pDem_Rep
dl2$pInd_Not <-dAF$pInd_Not

dl2$pDemR <-dAF$pDemR
dl2$pDemI <-dAF$pDemI                 

dl2$pRepD <-dAF$pRepD
dl2$pRepI <-dAF$pRepI

dl2$pIndD <-dAF$pIndD 
dl2$pIndR <-dAF$pIndR

(2)

prep LONG merged dataset

names(dl1) == names(dl2)
##  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE
dm <- rbind.data.frame(dl1, dl2)

dm$participant <- as.factor(dm$participant)

dm$W1vW2 <- NA
dm$W1vW2[dm$wave == 1] <- -.5
dm$W1vW2[dm$wave == 2] <- .5

prep WIDE merged dataset

#d2 = x; d1 = y
dw <- merge(dl2, dl1, by = c("participant"), all.x = T, all.y = T)
dw <- dw[dw$pDem_Rep.x == dw$pDem_Rep.y,] #get rid of F for party ID

dw2 <- data.frame(dw$participant)
colnames(dw2)[colnames(dw2)=="dw.participant"] <- "participant"
dw2$participant <- as.factor(dw2$participant)
dw2$vaxxAttitudes_w1 <- dw$vaxxAttitudes.y
dw2$vaxxAttitudes_w2 <- dw$vaxxAttitudes.x
dw2$ANexp_w1.c <- dw$ANexp.c.y
dw2$ANexp_w2.c <- dw$ANexp.c.x
dw2$AFexp_w1.c <- dw$AFexp.c.y
dw2$AFexp_w2.c <- dw$AFexp.c.x
dw2$pDem_Rep <- dw$pDem_Rep.y
dw2$pInd_Not <- dw$pInd_Not.y

g. vaxxAttitudes ~ (ANexp.c + AFexp.c) * party + (ANexp.c + AFexp.c | participant) + (1 | media)

## boundary (singular) fit: see ?isSingular
## Warning: Model failed to converge with 1 negative eigenvalue: -1.6e+01
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ (ANexp.c + AFexp.c) * (pDem_Rep + pInd_Not) +  
##     (ANexp.c + AFexp.c | participant) + (1 | media)
##    Data: dl2
## 
## REML criterion at convergence: -8612.2
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -0.32826 -0.06042  0.00493  0.07157  0.66058 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev.  Corr       
##  participant (Intercept) 3.603e-01 0.6002629            
##              ANexp.c     7.395e-08 0.0002719 -0.07      
##              AFexp.c     2.866e-05 0.0053534  0.04 -1.00
##  media       (Intercept) 3.931e-02 0.1982660            
##  Residual                2.812e-02 0.1676757            
## Number of obs: 28853, groups:  participant, 2406; media, 12
## 
## Fixed effects:
##                    Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)       2.238e-01  5.880e-02  9.704e+03   3.806 0.000142 ***
## ANexp.c           5.564e-05  4.075e-05  3.146e+03   1.365 0.172224    
## AFexp.c          -3.492e-04  7.610e-04  3.309e+03  -0.459 0.646410    
## pDem_Rep         -5.813e-01  2.697e-02  2.884e+04 -21.551  < 2e-16 ***
## pInd_Not          4.875e-01  3.321e-02  2.884e+04  14.681  < 2e-16 ***
## ANexp.c:pDem_Rep  1.748e-05  5.023e-05  2.799e+03   0.348 0.727964    
## ANexp.c:pInd_Not -2.037e-05  6.589e-05  3.358e+03  -0.309 0.757199    
## AFexp.c:pDem_Rep  2.702e-05  8.197e-04  2.667e+03   0.033 0.973705    
## AFexp.c:pInd_Not  2.392e-05  1.074e-03  2.860e+03   0.022 0.982225    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) ANxp.c AFxp.c pDm_Rp pInd_N AN.:D_ AN.:I_ AF.:D_
## ANexp.c     -0.001                                                 
## AFexp.c      0.001 -0.912                                          
## pDem_Rep     0.014  0.007  0.000                                   
## pInd_Not    -0.093  0.001 -0.004  0.037                            
## ANxp.c:pD_R  0.002  0.197 -0.154 -0.012  0.006                     
## ANxp.c:pI_N  0.000 -0.344  0.246  0.005 -0.006  0.104              
## AFxp.c:pD_R  0.000 -0.164  0.174  0.011  0.001 -0.790 -0.067       
## AFxp.c:pI_N -0.001  0.276 -0.312  0.000  0.013 -0.068 -0.781  0.086
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
lapply(diff_optims.OK,function(x) x@optinfo$conv$lme4$messages)
## $bobyqa
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nlminbwrap
## [1] "unable to evaluate scaled gradient"                                       
## [2] "Model failed to converge: degenerate  Hessian with 1 negative eigenvalues"
## 
## $`optimx.L-BFGS-B`
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nloptwrap.NLOPT_LN_BOBYQA
## [1] "boundary (singular) fit: see ?isSingular"

(4 & 5)

merged data

model aim: vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party + (ANexp.c + AFexp.c | participant) + (1|media)

a. vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party

model3.1 <- lm(vaxxAttitudes ~ W1vW2 + (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not), data = dm)
summary(model3.1)
## 
## Call:
## lm(formula = vaxxAttitudes ~ W1vW2 + (AFexp.c + ANexp.c) * (pDem_Rep + 
##     pInd_Not), data = dm)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5220 -1.6672  0.1476  1.9190  3.3989 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       0.3656289  0.0089450  40.875  < 2e-16 ***
## W1vW2            -0.2678695  0.0164048 -16.329  < 2e-16 ***
## AFexp.c           0.0019275  0.0029442   0.655   0.5127    
## ANexp.c           0.0024501  0.0001677  14.609  < 2e-16 ***
## pDem_Rep         -0.6893788  0.0185172 -37.229  < 2e-16 ***
## pInd_Not          0.5333236  0.0213761  24.950  < 2e-16 ***
## AFexp.c:pDem_Rep  0.0109007  0.0058750   1.855   0.0635 .  
## AFexp.c:pInd_Not -0.0043325  0.0072566  -0.597   0.5505    
## ANexp.c:pDem_Rep  0.0015153  0.0003367   4.500 6.81e-06 ***
## ANexp.c:pInd_Not -0.0002475  0.0004120  -0.601   0.5480    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.08 on 65327 degrees of freedom
##   (3951 observations deleted due to missingness)
## Multiple R-squared:  0.05613,    Adjusted R-squared:  0.056 
## F-statistic: 431.7 on 9 and 65327 DF,  p-value: < 2.2e-16

b. vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party + (1 | participant)

model converges!!

model3.3 <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (1 | participant), data = dm)
summary(model3.3)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (1 | participant)
##    Data: dm
## 
## REML criterion at convergence: 158077.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.5861 -0.3451  0.0013  0.3482  4.5779 
## 
## Random effects:
##  Groups      Name        Variance Std.Dev.
##  participant (Intercept) 4.0974   2.0242  
##  Residual                0.5109   0.7147  
## Number of obs: 65337, groups:  participant, 3244
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.851e-01  3.584e-02  3.274e+03  10.744  < 2e-16 ***
## W1vW2                  -3.308e-01  6.959e-03  6.235e+04 -47.531  < 2e-16 ***
## AFexp.c                -8.687e-04  1.056e-03  6.206e+04  -0.822  0.41089    
## ANexp.c                 1.844e-04  6.514e-05  6.230e+04   2.831  0.00465 ** 
## pDem_Rep                2.032e-02  2.885e-02  5.797e+04   0.705  0.48112    
## pInd_Not                2.060e-01  2.277e-02  6.525e+04   9.044  < 2e-16 ***
## W1vW2:AFexp.c          -1.611e-03  2.105e-03  6.205e+04  -0.765  0.44412    
## W1vW2:ANexp.c          -2.404e-04  1.223e-04  6.211e+04  -1.965  0.04936 *  
## W1vW2:pDem_Rep          4.704e-01  1.443e-02  6.238e+04  32.596  < 2e-16 ***
## W1vW2:pInd_Not          1.088e-01  1.788e-02  6.250e+04   6.086 1.16e-09 ***
## AFexp.c:pDem_Rep       -3.910e-04  2.070e-03  6.206e+04  -0.189  0.85014    
## AFexp.c:pInd_Not       -5.638e-04  2.626e-03  6.205e+04  -0.215  0.83004    
## ANexp.c:pDem_Rep        3.704e-04  1.280e-04  6.228e+04   2.895  0.00380 ** 
## ANexp.c:pInd_Not        3.452e-04  1.602e-04  6.225e+04   2.154  0.03123 *  
## W1vW2:AFexp.c:pDem_Rep  1.401e-03  4.123e-03  6.205e+04   0.340  0.73407    
## W1vW2:AFexp.c:pInd_Not -1.218e-03  5.240e-03  6.205e+04  -0.232  0.81628    
## W1vW2:ANexp.c:pDem_Rep -7.200e-04  2.416e-04  6.212e+04  -2.980  0.00288 ** 
## W1vW2:ANexp.c:pInd_Not  1.919e-04  3.046e-04  6.213e+04   0.630  0.52861    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it

c. vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party + (1 | participant) + (1 | media)

media is singular

model3.4 <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (1 | participant) + (1 | media), data = dm)
## boundary (singular) fit: see ?isSingular
summary(model3.4)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (1 | participant) + (1 | media)
##    Data: dm
## 
## REML criterion at convergence: 158077.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.5861 -0.3451  0.0013  0.3482  4.5779 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev. 
##  participant (Intercept) 4.097e+00 2.024e+00
##  media       (Intercept) 1.931e-15 4.394e-08
##  Residual                5.109e-01 7.147e-01
## Number of obs: 65337, groups:  participant, 3244; media, 12
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.851e-01  3.584e-02  3.274e+03  10.744  < 2e-16 ***
## W1vW2                  -3.308e-01  6.959e-03  6.235e+04 -47.531  < 2e-16 ***
## AFexp.c                -8.687e-04  1.056e-03  6.206e+04  -0.822  0.41089    
## ANexp.c                 1.844e-04  6.514e-05  6.230e+04   2.831  0.00465 ** 
## pDem_Rep                2.032e-02  2.885e-02  5.797e+04   0.705  0.48112    
## pInd_Not                2.060e-01  2.277e-02  6.525e+04   9.044  < 2e-16 ***
## W1vW2:AFexp.c          -1.611e-03  2.105e-03  6.205e+04  -0.765  0.44412    
## W1vW2:ANexp.c          -2.404e-04  1.223e-04  6.211e+04  -1.965  0.04936 *  
## W1vW2:pDem_Rep          4.704e-01  1.443e-02  6.238e+04  32.596  < 2e-16 ***
## W1vW2:pInd_Not          1.088e-01  1.788e-02  6.250e+04   6.086 1.16e-09 ***
## AFexp.c:pDem_Rep       -3.910e-04  2.070e-03  6.206e+04  -0.189  0.85014    
## AFexp.c:pInd_Not       -5.638e-04  2.626e-03  6.205e+04  -0.215  0.83004    
## ANexp.c:pDem_Rep        3.704e-04  1.280e-04  6.228e+04   2.895  0.00380 ** 
## ANexp.c:pInd_Not        3.452e-04  1.602e-04  6.225e+04   2.154  0.03123 *  
## W1vW2:AFexp.c:pDem_Rep  1.401e-03  4.123e-03  6.205e+04   0.340  0.73407    
## W1vW2:AFexp.c:pInd_Not -1.218e-03  5.240e-03  6.205e+04  -0.232  0.81628    
## W1vW2:ANexp.c:pDem_Rep -7.200e-04  2.416e-04  6.212e+04  -2.980  0.00288 ** 
## W1vW2:ANexp.c:pInd_Not  1.919e-04  3.046e-04  6.213e+04   0.630  0.52861    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular

d. vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party + (ANexp.c | participant)

model3.5 <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (ANexp.c | participant), data = dm)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 83.4106 (tol = 0.002, component 1)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
summary(model3.5)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (ANexp.c | participant)
##    Data: dm
## 
## REML criterion at convergence: 162610.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.5245 -0.2888 -0.0043  0.3181  5.5581 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev. Corr 
##  participant (Intercept) 9.817e-01 0.990832      
##              ANexp.c     3.875e-06 0.001969 -0.09
##  Residual                5.737e-01 0.757410      
## Number of obs: 65337, groups:  participant, 3244
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.643e-01  1.813e-02  1.760e+04  20.097  < 2e-16 ***
## W1vW2                  -3.342e-01  7.573e-03  5.639e+04 -44.132  < 2e-16 ***
## AFexp.c                -1.438e-06  1.160e-03  5.474e+04  -0.001 0.999011    
## ANexp.c                 3.123e-04  8.244e-05  9.645e+03   3.788 0.000153 ***
## pDem_Rep               -2.395e-01  2.610e-02  5.305e+04  -9.174  < 2e-16 ***
## pInd_Not                2.798e-01  2.259e-02  6.477e+04  12.388  < 2e-16 ***
## W1vW2:AFexp.c          -5.889e-04  2.264e-03  5.571e+04  -0.260 0.794755    
## W1vW2:ANexp.c          -3.675e-04  1.332e-04  5.562e+04  -2.759 0.005800 ** 
## W1vW2:pDem_Rep          4.446e-01  1.561e-02  5.677e+04  28.483  < 2e-16 ***
## W1vW2:pInd_Not          9.983e-02  1.945e-02  5.658e+04   5.132 2.87e-07 ***
## AFexp.c:pDem_Rep        1.021e-03  2.283e-03  5.416e+04   0.447 0.654684    
## AFexp.c:pInd_Not       -4.196e-04  2.871e-03  5.529e+04  -0.146 0.883810    
## ANexp.c:pDem_Rep        4.774e-04  1.615e-04  1.111e+04   2.957 0.003117 ** 
## ANexp.c:pInd_Not        3.775e-04  1.942e-04  1.773e+04   1.944 0.051923 .  
## W1vW2:AFexp.c:pDem_Rep  4.025e-03  4.440e-03  5.578e+04   0.907 0.364656    
## W1vW2:AFexp.c:pInd_Not  5.301e-04  5.645e-03  5.579e+04   0.094 0.925186    
## W1vW2:ANexp.c:pDem_Rep -1.123e-03  2.648e-04  5.500e+04  -4.241 2.23e-05 ***
## W1vW2:ANexp.c:pInd_Not  7.983e-05  3.341e-04  5.493e+04   0.239 0.811144    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 83.4106 (tol = 0.002, component 1)
## Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
lapply(diff_optims.OK,function(x) x@optinfo$conv$lme4$messages)
## $bobyqa
## $bobyqa[[1]]
## [1] "Model failed to converge with max|grad| = 0.469758 (tol = 0.002, component 1)"
## 
## $bobyqa[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $Nelder_Mead
## $Nelder_Mead[[1]]
## [1] "Model failed to converge with max|grad| = 741.052 (tol = 0.002, component 1)"
## 
## $Nelder_Mead[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nlminbwrap
## $nlminbwrap[[1]]
## [1] "Model failed to converge with max|grad| = 0.0214084 (tol = 0.002, component 1)"
## 
## $nlminbwrap[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nmkbw
## $nmkbw[[1]]
## [1] "Model failed to converge with max|grad| = 0.0213859 (tol = 0.002, component 1)"
## 
## $nmkbw[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $`optimx.L-BFGS-B`
## $`optimx.L-BFGS-B`[[1]]
## [1] "Model failed to converge with max|grad| = 2.03808 (tol = 0.002, component 1)"
## 
## $`optimx.L-BFGS-B`[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nloptwrap.NLOPT_LN_NELDERMEAD
## $nloptwrap.NLOPT_LN_NELDERMEAD[[1]]
## [1] "Model failed to converge with max|grad| = 0.0213895 (tol = 0.002, component 1)"
## 
## $nloptwrap.NLOPT_LN_NELDERMEAD[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nloptwrap.NLOPT_LN_BOBYQA
## $nloptwrap.NLOPT_LN_BOBYQA[[1]]
## [1] "Model failed to converge with max|grad| = 83.4106 (tol = 0.002, component 1)"
## 
## $nloptwrap.NLOPT_LN_BOBYQA[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"

e. vaxxAttitude ~ W1vW2 * (AFexp.c + ANexp.c) * party + (AFexp.c | participant)

model3.5a <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (AFexp.c | participant), data = dm)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00384219 (tol = 0.002, component 1)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
summary(model3.5a)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (AFexp.c | participant)
##    Data: dm
## 
## REML criterion at convergence: 157693.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.7003 -0.3385  0.0012  0.3452  5.6905 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev. Corr 
##  participant (Intercept) 4.0946809 2.02353       
##              AFexp.c     0.0004784 0.02187  -0.02
##  Residual                0.4980848 0.70575       
## Number of obs: 65337, groups:  participant, 3244
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.839e-01  3.585e-02  3.272e+03  10.710  < 2e-16 ***
## W1vW2                  -3.337e-01  6.974e-03  6.221e+04 -47.848  < 2e-16 ***
## AFexp.c                -1.277e-03  1.163e-03  1.149e+04  -1.098  0.27225    
## ANexp.c                 1.941e-04  6.548e-05  6.147e+04   2.964  0.00303 ** 
## pDem_Rep                2.411e-02  2.904e-02  5.668e+04   0.830  0.40643    
## pInd_Not                2.016e-01  2.282e-02  6.497e+04   8.834  < 2e-16 ***
## W1vW2:AFexp.c          -2.241e-03  2.126e-03  5.980e+04  -1.054  0.29190    
## W1vW2:ANexp.c          -2.463e-04  1.215e-04  6.171e+04  -2.027  0.04267 *  
## W1vW2:pDem_Rep          4.573e-01  1.441e-02  6.238e+04  31.726  < 2e-16 ***
## W1vW2:pInd_Not          1.111e-01  1.794e-02  6.221e+04   6.196 5.84e-10 ***
## AFexp.c:pDem_Rep        1.267e-04  2.277e-03  1.200e+04   0.056  0.95561    
## AFexp.c:pInd_Not        4.921e-04  2.853e-03  1.577e+04   0.172  0.86307    
## ANexp.c:pDem_Rep        3.430e-04  1.284e-04  6.186e+04   2.671  0.00757 ** 
## ANexp.c:pInd_Not        3.453e-04  1.608e-04  6.168e+04   2.147  0.03182 *  
## W1vW2:AFexp.c:pDem_Rep -4.148e-04  4.161e-03  6.007e+04  -0.100  0.92059    
## W1vW2:AFexp.c:pInd_Not -6.575e-05  5.332e-03  5.639e+04  -0.012  0.99016    
## W1vW2:ANexp.c:pDem_Rep -7.364e-04  2.401e-04  6.175e+04  -3.066  0.00217 ** 
## W1vW2:ANexp.c:pInd_Not  1.597e-04  3.031e-04  6.192e+04   0.527  0.59825    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 0.00384219 (tol = 0.002, component 1)
## Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
lapply(diff_optims.OK,function(x) x@optinfo$conv$lme4$messages)
## $bobyqa
## $bobyqa[[1]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $Nelder_Mead
## $Nelder_Mead[[1]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nlminbwrap
## $nlminbwrap[[1]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nmkbw
## $nmkbw[[1]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $`optimx.L-BFGS-B`
## $`optimx.L-BFGS-B`[[1]]
## [1] "Model failed to converge with max|grad| = 0.00225899 (tol = 0.002, component 1)"
## 
## $`optimx.L-BFGS-B`[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nloptwrap.NLOPT_LN_NELDERMEAD
## $nloptwrap.NLOPT_LN_NELDERMEAD[[1]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nloptwrap.NLOPT_LN_BOBYQA
## $nloptwrap.NLOPT_LN_BOBYQA[[1]]
## [1] "Model failed to converge with max|grad| = 0.00384219 (tol = 0.002, component 1)"
## 
## $nloptwrap.NLOPT_LN_BOBYQA[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"

f. vaxxAttitude ~ W1vW2 + (AFexp.c + ANexp.c) * party + (ANexp.c + AFexp.c | participant)

model3.6 <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (AFexp.c + ANexp.c | participant), data = dm)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 27.8061 (tol = 0.002, component 1)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
summary(model3.6)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (AFexp.c + ANexp.c | participant)
##    Data: dm
## 
## REML criterion at convergence: 157421.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.8468 -0.3196 -0.0019  0.3334  5.9629 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev. Corr       
##  participant (Intercept) 2.190e+00 1.479965            
##              AFexp.c     3.770e-07 0.000614 -0.04      
##              ANexp.c     3.736e-06 0.001933 -0.04  0.66
##  Residual                5.055e-01 0.710952            
## Number of obs: 65337, groups:  participant, 3244
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.761e-01  2.646e-02  7.396e+03  14.213  < 2e-16 ***
## W1vW2                  -3.368e-01  7.147e-03  6.054e+04 -47.121  < 2e-16 ***
## AFexp.c                -2.147e-04  1.092e-03  5.814e+04  -0.197  0.84414    
## ANexp.c                 1.711e-04  7.861e-05  6.580e+03   2.177  0.02952 *  
## pDem_Rep               -6.090e-02  2.826e-02  5.445e+04  -2.155  0.03117 *  
## pInd_Not                2.232e-01  2.280e-02  6.468e+04   9.792  < 2e-16 ***
## W1vW2:AFexp.c          -7.673e-04  2.127e-03  5.976e+04  -0.361  0.71831    
## W1vW2:ANexp.c          -3.640e-04  1.253e-04  5.375e+04  -2.906  0.00367 ** 
## W1vW2:pDem_Rep          4.428e-01  1.473e-02  6.089e+04  30.065  < 2e-16 ***
## W1vW2:pInd_Not          1.073e-01  1.839e-02  6.052e+04   5.833 5.46e-09 ***
## AFexp.c:pDem_Rep        7.347e-04  2.149e-03  5.688e+04   0.342  0.73241    
## AFexp.c:pInd_Not       -2.266e-04  2.701e-03  5.915e+04  -0.084  0.93313    
## ANexp.c:pDem_Rep        3.772e-04  1.536e-04  7.343e+03   2.455  0.01410 *  
## ANexp.c:pInd_Not        4.275e-04  1.843e-04  1.143e+04   2.319  0.02040 *  
## W1vW2:AFexp.c:pDem_Rep  3.947e-03  4.172e-03  5.910e+04   0.946  0.34414    
## W1vW2:AFexp.c:pInd_Not  6.497e-04  5.305e-03  5.984e+04   0.122  0.90253    
## W1vW2:ANexp.c:pDem_Rep -1.121e-03  2.490e-04  5.115e+04  -4.501 6.79e-06 ***
## W1vW2:ANexp.c:pInd_Not  7.932e-05  3.143e-04  5.009e+04   0.252  0.80074    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 27.8061 (tol = 0.002, component 1)
## Model is nearly unidentifiable: very large eigenvalue
##  - Rescale variables?
lapply(diff_optims.OK,function(x) x@optinfo$conv$lme4$messages)
## $bobyqa
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $Nelder_Mead
## $Nelder_Mead[[1]]
## [1] "Model failed to converge with max|grad| = 39.5496 (tol = 0.002, component 1)"
## 
## $Nelder_Mead[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"
## 
## 
## $nlminbwrap
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nmkbw
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $`optimx.L-BFGS-B`
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nloptwrap.NLOPT_LN_NELDERMEAD
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nloptwrap.NLOPT_LN_BOBYQA
## $nloptwrap.NLOPT_LN_BOBYQA[[1]]
## [1] "Model failed to converge with max|grad| = 27.8061 (tol = 0.002, component 1)"
## 
## $nloptwrap.NLOPT_LN_BOBYQA[[2]]
## [1] "Model is nearly unidentifiable: very large eigenvalue\n - Rescale variables?"

g. vaxxAttitude ~ W1vW2 + (AFexp.c + ANexp.c) * party + (ANexp.c + AFexp.c | participant) + (1 | media)

model3.6 <- lmer(vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) + (AFexp.c + ANexp.c | participant) + (1 | media), data = dm)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -2.1e+01
summary(model3.6)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: vaxxAttitudes ~ W1vW2 * (AFexp.c + ANexp.c) * (pDem_Rep + pInd_Not) +  
##     (AFexp.c + ANexp.c | participant) + (1 | media)
##    Data: dm
## 
## REML criterion at convergence: 158372.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.8126 -0.3110 -0.0027  0.3293  5.8601 
## 
## Random effects:
##  Groups      Name        Variance  Std.Dev. Corr       
##  participant (Intercept) 1.739e+00 1.318557            
##              AFexp.c     7.614e-06 0.002759  0.43      
##              ANexp.c     3.432e-06 0.001853 -0.09  0.85
##  media       (Intercept) 5.332e-01 0.730221            
##  Residual                5.187e-01 0.720182            
## Number of obs: 65337, groups:  participant, 3244; media, 12
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)             3.734e-01  2.121e-01  5.820e+04   1.760 0.078396 .  
## W1vW2                  -3.363e-01  7.234e-03  5.965e+04 -46.491  < 2e-16 ***
## AFexp.c                -2.454e-03  1.980e-03  5.152e+04  -1.240 0.215110    
## ANexp.c                 3.329e-04  1.124e-04  1.232e+04   2.961 0.003071 ** 
## pDem_Rep               -1.050e-01  2.776e-02  5.386e+04  -3.785 0.000154 ***
## pInd_Not                2.356e-01  2.276e-02  6.466e+04  10.355  < 2e-16 ***
## W1vW2:AFexp.c          -1.186e-03  2.164e-03  5.872e+04  -0.548 0.583554    
## W1vW2:ANexp.c          -3.415e-04  1.270e-04  5.022e+04  -2.690 0.007156 ** 
## W1vW2:pDem_Rep          4.434e-01  1.490e-02  6.002e+04  29.752  < 2e-16 ***
## W1vW2:pInd_Not          1.057e-01  1.861e-02  5.966e+04   5.682 1.34e-08 ***
## AFexp.c:pDem_Rep        9.806e-04  2.196e-03  5.707e+04   0.447 0.655162    
## AFexp.c:pInd_Not       -2.017e-04  2.738e-03  5.848e+04  -0.074 0.941297    
## ANexp.c:pDem_Rep        3.958e-04  1.540e-04  6.249e+03   2.570 0.010185 *  
## ANexp.c:pInd_Not        4.107e-04  1.843e-04  9.719e+03   2.229 0.025848 *  
## W1vW2:AFexp.c:pDem_Rep  3.795e-03  4.222e-03  5.788e+04   0.899 0.368754    
## W1vW2:AFexp.c:pInd_Not  9.981e-04  5.370e-03  5.891e+04   0.186 0.852553    
## W1vW2:ANexp.c:pDem_Rep -1.109e-03  2.513e-04  4.692e+04  -4.412 1.02e-05 ***
## W1vW2:ANexp.c:pInd_Not  5.957e-05  3.171e-04  4.582e+04   0.188 0.850981    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## unable to evaluate scaled gradient
## Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
lapply(diff_optims.OK,function(x) x@optinfo$conv$lme4$messages)
## $bobyqa
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $Nelder_Mead
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nlminbwrap
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nmkbw
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $`optimx.L-BFGS-B`
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nloptwrap.NLOPT_LN_NELDERMEAD
## [1] "boundary (singular) fit: see ?isSingular"
## 
## $nloptwrap.NLOPT_LN_BOBYQA
## [1] "unable to evaluate scaled gradient"                                       
## [2] "Model failed to converge: degenerate  Hessian with 1 negative eigenvalues"