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)
###################################
# 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
#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
#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
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
#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
## 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"
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
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
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
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?"
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?"
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?"
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"