#install.packages("foreign") #install.packages("weights") #install.packages("MASS") #install.packages("car") #install.packages("ggplot2") #install.packages("car") #install.packages("mediation") #install.packages("car") library(mediation) library(foreign) library(weights) library(MASS) library(car) library(ggplot2) library(foreign) #install.packages("gplots") library(gplots) #install.packages("rcompanion") library(rcompanion) #install.packages("DeclareDesign") #install.packages("DesignLibrary") library(DeclareDesign) library(DesignLibrary) #install.packages("readxl") #install.packages("dplyr") #install.packages("foreign") #install.packages("lavaan") #install.packages("sjmisc") packages = c("readxl","dplyr","foreign","lavaan","sjmisc") package.check <- lapply(packages, FUN = function(x) { if (!require(x, character.only = TRUE)) { install.packages(x, dependencies = TRUE) library(x, character.only = TRUE) } }) dataSEM <- read.spss("SEMdata.sav", to.data.frame=TRUE) #### mod.flu1 #### mod.flu1d <- ' # Define latent variables/measurement model phibelief2 =~ s1a.r_2 + s1b.r_2 morbelief2 =~ moral1a.r_2 + moral1b.r_2 + moral1c.r_2 fluatt2 =~ fv21_2 + fv8a.r_2 fluatt3 =~ fv21_3 + fv8a.r_3 fluatt4 =~ fv21_4 + fv8a.r_4 # Autoregressive effects phibelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parent912_2 + conservative_2 + r1*flu.d_protestant_2 + r2*catorth_2 + r3*flu.d_mormon_2 + r4*flu.d_justchrist_2 + r5*flu.d_muslim_2 + r6*flu.d_jewish_2 + r7*buddhindu_2 + r8*flu.d_other_2 + r9*flu.d_unitarian_2 + r10*flu.d_agnost_2 + r11*flu.d_nothing_2 morbelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parent912_2 + conservative_2 + r12*flu.d_protestant_2 + r13*catorth_2 + r14*flu.d_mormon_2 + r15*flu.d_justchrist_2 + r16*flu.d_muslim_2 + r17*flu.d_jewish_2 + r18*buddhindu_2 + r19*flu.d_other_2 + r20*flu.d_unitarian_2 + r21*flu.d_agnost_2 + r22*flu.d_nothing_2 fluatt2 ~ b1*phibelief2 + b2*morbelief2 fluatt3 ~ a1*fluatt2 fluatt4 ~ a2*fluatt3 fluvax.r_2 ~ b3*phibelief2 + b4*morbelief2 # Comment this line for mod.flu2 fluvax.r_3 ~ a3*fluvax.r_2 fluvax.r_4 ~ a4*fluvax.r_3 fluvax.r_3 ~ c2*fluatt2 fluvax.r_4 ~ c3*fluatt3 flu.encourage_flu ~ b5*phibelief2 + b6*morbelief2 encourageflu_t3 ~ a5*flu.encourage_flu encourageflu_t4 ~ a6*encourageflu_t3 encourageflu_t3 ~ c4*fluatt2 encourageflu_t4 ~ c5*fluatt3 # Correlations phibelief2 ~~ morbelief2 fv21_2 ~~ fv21_3 fv21_2 ~~ fv21_4 fv21_3 ~~ fv21_4 fv8a.r_2 ~~ fv8a.r_3 fv8a.r_2 ~~ fv8a.r_4 fv8a.r_3 ~~ fv8a.r_4 flu.encourage_flu ~~ encourageflu_t3 flu.encourage_flu ~~ encourageflu_t4 encourageflu_t3 ~~ encourageflu_t4 flu.encourage_flu ~~ fluvax.r_2 encourageflu_t3 ~~ fluvax.r_3 encourageflu_t4 ~~ fluvax.r_4 # Indirect effects # Religious group -> philosophical beliefs -> attitudes t2 indirect1 := r1*b1 indirect2 := r2*b1 indirect3 := r3*b1 indirect4 := r4*b1 indirect5 := r5*b1 indirect6 := r6*b1 indirect7 := r7*b1 indirect8 := r8*b1 indirect9 := r9*b1 indirect10 := r10*b1 indirect11 := r11*b1 # Religious group -> moral beliefs -> attitudes t2 indirect12 := r12*b2 indirect13 := r13*b2 indirect14 := r14*b2 indirect15 := r15*b2 indirect16 := r16*b2 indirect17 := r17*b2 indirect18 := r18*b2 indirect19 := r19*b2 indirect20 := r20*b2 indirect21 := r21*b2 indirect22 := r22*b2 # Religious group-> philosophical beliefs -> attitudes t2 -> vax t3 indirect23 := r1*b1*c2 indirect24 := r2*b1*c2 indirect25 := r3*b1*c2 indirect26 := r4*b1*c2 indirect27 := r5*b1*c2 indirect28 := r6*b1*c2 indirect29 := r7*b1*c2 indirect30 := r8*b1*c2 indirect31 := r9*b1*c2 indirect32 := r10*b1*c2 indirect33 := r11*b1*c2 # Religious group-> moral beliefs -> attitudes t2 -> vax t3 indirect34 := r12*b2*c2 indirect35 := r13*b2*c2 indirect36 := r14*b2*c2 indirect37 := r15*b2*c2 indirect38 := r16*b2*c2 indirect39 := r17*b2*c2 indirect40 := r18*b2*c2 indirect41 := r19*b2*c2 indirect42 := r20*b2*c2 indirect43 := r21*b2*c2 indirect44 := r22*b2*c2 # Religious group-> philosophical beliefs -> attitudes t2 -> encourage t3 indirect45 := r1*b1*c4 indirect46 := r2*b1*c4 indirect47 := r3*b1*c4 indirect48 := r4*b1*c4 indirect49 := r5*b1*c4 indirect50 := r6*b1*c4 indirect51 := r7*b1*c4 indirect52 := r8*b1*c4 indirect53 := r9*b1*c4 indirect54 := r10*b1*c4 indirect55 := r11*b1*c4 # Religious group-> moral beliefs -> attitudes t2 -> encourage t3 indirect56 := r12*b2*c4 indirect57 := r13*b2*c4 indirect58 := r14*b2*c4 indirect59 := r15*b2*c4 indirect60 := r16*b2*c4 indirect61 := r17*b2*c4 indirect62 := r18*b2*c4 indirect63 := r19*b2*c4 indirect64 := r20*b2*c4 indirect65 := r21*b2*c4 indirect66 := r22*b2*c4 # Religious group-> philosophical beliefs -> attitudes t2 -> attitude t3 -> vax t4 indirect67 := r1*b1*a1*c3 indirect68 := r2*b1*a1*c3 indirect69 := r3*b1*a1*c3 indirect70 := r4*b1*a1*c3 indirect71 := r5*b1*a1*c3 indirect72 := r6*b1*a1*c3 indirect73 := r7*b1*a1*c3 indirect74 := r8*b1*a1*c3 indirect75 := r9*b1*a1*c3 indirect76 := r10*b1*a1*c3 indirect77 := r11*b1*a1*c3 # Religious group-> moral beliefs -> attitudes t2 -> attitude t3 -> vax t4 indirect78 := r12*b2*a1*c3 indirect79 := r13*b2*a1*c3 indirect89 := r14*b2*a1*c3 indirect81 := r15*b2*a1*c3 indirect82 := r16*b2*a1*c3 indirect83 := r17*b2*a1*c3 indirect84 := r18*b2*a1*c3 indirect85 := r19*b2*a1*c3 indirect86 := r20*b2*a1*c3 indirect87 := r21*b2*a1*c3 indirect88 := r22*b2*a1*c3 # Religious group-> philosophical beliefs -> attitudes t2 -> attitude t3 -> encourage t4 indirect89 := r1*b1*a1*c5 indirect90 := r2*b1*a1*c5 indirect91 := r3*b1*a1*c5 indirect92 := r4*b1*a1*c5 indirect93 := r5*b1*a1*c5 indirect94 := r6*b1*a1*c5 indirect95 := r7*b1*a1*c5 indirect96 := r8*b1*a1*c5 indirect97 := r9*b1*a1*c5 indirect98 := r10*b1*a1*c5 indirect99 := r11*b1*a1*c5 # Religious group-> moral beliefs -> attitudes t2 -> attitude t3 -> encourage t4 indirect100 := r12*b2*a1*c5 indirect101 := r13*b2*a1*c5 indirect102 := r14*b2*a1*c5 indirect103 := r15*b2*a1*c5 indirect104 := r16*b2*a1*c5 indirect105 := r17*b2*a1*c5 indirect106 := r18*b2*a1*c5 indirect107 := r19*b2*a1*c5 indirect108 := r20*b2*a1*c5 indirect109 := r21*b2*a1*c5 indirect110 := r22*b2*a1*c5 ' ############################################################## fitflu1d <-lavaan::sem(mod.flu1d,estimator="DWLS",data=dataSEM) fitflu1d lavaan::summary(fitflu1d, fit.measures = T) r1 <- lavaan::parameterEstimates(fitflu1d,standardized = TRUE);r1 lavaan::fitMeasures(fitflu1d) endin <- ".csv" write.csv(r1, paste0("sem_flu-indirect_", tolower(format(Sys.Date(),format="%b%d")),endin), row.names = FALSE) flu_explained<-inspect(fitflu1d, 'r2') flu_explained write.csv((flu_explained), file= "flu_explained.csv") #### mod.mmr1 #### mod.mmr1 <- ' # Define latent variables/measurement model phibelief2 =~ s1a.r_2 + s1b.r_2 morbelief2 =~ moral1a.r_2 + moral1b.r_2 + moral1c.r_2 mmratt2 =~ mmr10_2 + mmr8.r_2 mmratt3 =~ mmr10_3 + mmr8.r_3 # Autoregressive effects phibelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parentu6_2 + conservative_2 + r1*flu.d_protestant_2 + r2*catorth_2 + r3*flu.d_mormon_2 + r4*flu.d_justchrist_2 + r5*flu.d_muslim_2 + r6*flu.d_jewish_2 + r7*buddhindu_2 + r8*flu.d_other_2 + r9*flu.d_unitarian_2 + r10*flu.d_agnost_2 + r11*flu.d_nothing_2 morbelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parentu6_2 + conservative_2 + r12*flu.d_protestant_2 + r13*catorth_2 + r14*flu.d_mormon_2 + r15*flu.d_justchrist_2 + r16*flu.d_muslim_2 + r17*flu.d_jewish_2 + r18*buddhindu_2 + r19*flu.d_other_2 + r20*flu.d_unitarian_2 + r21*flu.d_agnost_2 + r22*flu.d_nothing_2 mmratt2 ~ b1*phibelief2 + b2*morbelief2 mmratt3 ~ a1*mmratt2 # Correlations phibelief2 ~~ morbelief2 mmr10_2 ~~ mmr10_3 mmr8.r_2 ~~ mmr8.r_3 # Indirect effects # Religious group -> philosophical beliefs -> attitudes t2 indirect1 := r1*b1 indirect2 := r2*b1 indirect3 := r3*b1 indirect4 := r4*b1 indirect5 := r5*b1 indirect6 := r6*b1 indirect7 := r7*b1 indirect8 := r8*b1 indirect9 := r9*b1 indirect10 := r10*b1 indirect11 := r11*b1 # Religious group -> moral beliefs -> attitudes t2 indirect12 := r12*b2 indirect13 := r13*b2 indirect14 := r14*b2 indirect15 := r15*b2 indirect16 := r16*b2 indirect17 := r17*b2 indirect18 := r18*b2 indirect19 := r19*b2 indirect20 := r20*b2 indirect21 := r21*b2 indirect22 := r22*b2 ' ############################################################## fitmmr1 <-lavaan::sem(mod.mmr1,estimator="DWLS",data=dataSEM) lavaan::summary(fitmmr1, fit.measures = T) r1 <- lavaan::parameterEstimates(fitmmr1,standardized = TRUE);r1 lavaan::fitMeasures(fitmmr1) endin <- '.csv' write.csv(r1, paste0("sem_mmr-indirect_", tolower(format(Sys.Date(),format="%b%d")),endin), row.names = FALSE) mmr_explained<-inspect(fitmmr1, 'r2') mmr_explained write.csv((mmr_explained), file= "mmr_explained.csv") #### mod.hpv1 #### mod.hpv1 <- ' # Define latent variables/measurement model phibelief2 =~ s1a.r_2 + s1b.r_2 morbelief2 =~ moral1a.r_2 + moral1b.r_2 + moral1c.r_2 hpvatt2 =~ hpv10_2 + hpv8.r_2 hpvatt3 =~ hpv10_3 + hpv8.r_3 # Autoregressive effects phibelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parentu6_2 + conservative_2 + r1*flu.d_protestant_2 + r2*catorth_2 + r3*flu.d_mormon_2 + r4*flu.d_justchrist_2 + r5*flu.d_muslim_2 + r6*flu.d_jewish_2 + r7*buddhindu_2 + r8*flu.d_other_2 + r9*flu.d_unitarian_2 + r10*flu.d_agnost_2 + r11*flu.d_nothing_2 morbelief2 ~ age_2 + female_2 + whitedummy_2 + education_2 + income.clean_2 + parentu6_2 + conservative_2 + r12*flu.d_protestant_2 + r13*catorth_2 + r14*flu.d_mormon_2 + r15*flu.d_justchrist_2 + r16*flu.d_muslim_2 + r17*flu.d_jewish_2 + r18*buddhindu_2 + r19*flu.d_other_2 + r20*flu.d_unitarian_2 + r21*flu.d_agnost_2 + r22*flu.d_nothing_2 hpvatt2 ~ b1*phibelief2 + b2*morbelief2 hpvatt3 ~ a1*hpvatt2 # Correlations phibelief2 ~~ morbelief2 hpv10_2 ~~ hpv10_3 hpv8.r_2 ~~ hpv8.r_3 # Indirect effects # Religious group -> philosophical beliefs -> attitudes t2 indirect1 := r1*b1 indirect2 := r2*b1 indirect3 := r3*b1 indirect4 := r4*b1 indirect5 := r5*b1 indirect6 := r6*b1 indirect7 := r7*b1 indirect8 := r8*b1 indirect9 := r9*b1 indirect10 := r10*b1 indirect11 := r11*b1 # Religious group -> moral beliefs -> attitudes t2 indirect12 := r12*b2 indirect13 := r13*b2 indirect14 := r14*b2 indirect15 := r15*b2 indirect16 := r16*b2 indirect17 := r17*b2 indirect18 := r18*b2 indirect19 := r19*b2 indirect20 := r20*b2 indirect21 := r21*b2 indirect22 := r22*b2 ' ############################################################## fithpv1 <-lavaan::sem(mod.hpv1,estimator="DWLS",data=dataSEM) lavaan::summary(fithpv1, fit.measures = T) r1 <- lavaan::parameterEstimates(fithpv1,standardized = TRUE);r1 lavaan::fitMeasures(fithpv1) endin <- '.csv' write.csv(r1, paste0("sem_hpv_indirect_", tolower(format(Sys.Date(),format="%b%d")),endin), row.names = FALSE) hpv_explained<-inspect(fithpv1, 'r2') hpv_explained write.csv((hpv_explained), file= "hpv_explained.csv") # descriptives library(psych) describe(dataSEM) descriptives_all<-describe(data_descriptive) write.csv(descriptives_all, file = "All_Descriptives.csv") # to get correlation matrix use spss