# Date: 2022-10-08 # Author: Jana Runze #### Preparations #### #set working directory setwd("yourworkingdirectory") getwd() #adapt how numbers are shown options(scipen=100) #install & load packages install.packages("psych") install.packages("apaTables") library(psych) library(ggplot2) library(apaTables) #load and check dataset df<-read.table("Runze_20221008_Dataset_Tab.dat",na.strings=c("999"),header=TRUE) head(df) #### Preliminary analyses #### #descriptive statistics describe(df$ses03_institutional_04) describe(df$ses03_institutional_06) describe(df$ses05_ukraine_07) describe(df$ses05_ukraine_mean) #correlations cor.test(df$ses05_ukraine_mean, df$ses03_institutional_04, use="pairwise.complete.obs", method="pearson") cor.test(df$ses05_ukraine_mean, df$ses03_institutional_06, use="pairwise.complete.obs", method="pearson") cor.test(df$ses05_ukraine_mean, df$ses05_ukraine_07, use="pairwise.complete.obs", method="pearson") cor.test(df$ses03_institutional_04, df$ses03_institutional_06, use="pairwise.complete.obs", method="pearson") cor.test(df$ses03_institutional_04, df$ses05_ukraine_07, use="pairwise.complete.obs", method="pearson") cor.test(df$ses03_institutional_06, df$ses05_ukraine_07, use="pairwise.complete.obs", method="pearson") cor.test(df$ses03_institutional_06, df$trust_mean, use="pairwise.complete.obs", method="pearson") #standardizing the IVs and DVs df$s_ses05_ukraine_mean<-scale(df$ses05_ukraine_mean, center = TRUE, scale = TRUE) df$s_ses05_ukraine_07<-scale(df$ses05_ukraine_07, center = TRUE, scale = TRUE) df$s_ses03_institutional_04<-scale(df$ses03_institutional_04, center = TRUE, scale = TRUE) df$s_ses03_institutional_06<-scale(df$ses03_institutional_06, center = TRUE, scale = TRUE) df$s_age<-scale(df$ses05_age, center = TRUE, scale = TRUE) #### Main analysis and assumptions #### #performing the regression analysis with standardized variables to get standardized beta weights #main analysis with media exposure as sole predictor lm1<-lm(s_ses05_ukraine_mean ~ s_ses05_ukraine_07, data = df) summary(lm1) #additional analysis with trust variables as predictors + interaction term to assess moderation lm2<-lm(s_ses05_ukraine_mean ~ s_ses05_ukraine_07 + s_ses03_institutional_04 + s_ses03_institutional_06 + s_ses03_institutional_04*s_ses05_ukraine_07 + s_ses03_institutional_06*s_ses05_ukraine_07, data = df) summary(lm2) #sensitivity analysis controlling for gender and age lm3<-lm(s_ses05_ukraine_mean ~ s_ses05_ukraine_07 + ses05_gender_01 + ses05_age + s_ses05_ukraine_07*ses05_gender_01 + s_ses05_ukraine_07*ses05_age, data=df) summary(lm3) #checking assumptions scatter1<-ggplot(df, aes(x=ses05_ukraine_07, y=ses05_ukraine_mean)) + geom_point() + geom_smooth(method = lm, se=FALSE, fullrange=TRUE) scatter1 + theme_classic() #checking model assumptions using graphs par(mfrow = c(2, 2)) plot(lm1) #checking the results of the regression and comparing models confint(lm1) confint(lm2) confint(lm3) #### Write up #### #creating APA style tables apa.reg.table(lm1, filename = "lm1.doc", table.number = 1, prop.var.conf.level = 0.95) apa.reg.table(lm2, filename = "lm2.doc", table.number = 2, prop.var.conf.level = 0.95) apa.reg.table(lm3, filename = "lm3.doc", table.number = 3, prop.var.conf.level = 0.95) #figure to present the association between media exposure and stress symptoms intgraph1<-ggplot(df, aes(x=s_ses05_ukraine_07, y=s_ses05_ukraine_mean)) + geom_point() intgraph1 + geom_smooth(method='lm', se=F, alpha=0.5, colour = "#CC6666", show.legend = FALSE) + theme_classic() + labs(x = "Media Exposure", y = "Stress symptoms") + theme(legend.position="bottom", axis.text = element_text(size = 12), axis.title = element_text(size=14), legend.text = element_text(size=12), legend.title = element_text(size=14)) ggsave(filename = "figure regression.png", path = "yourworkingdirectory", width = 10, height = 7, device='png', dpi=700)