# Κεφάλαιο 16 # Υπολογισμός της ανάλυσης διαμεσολάβησης στο R # Φορτώνουμε τα ακόλουθα πακέτα library(foreign) library(mediation) library(stargazer) library(gvlma) library(bda) library(multilevel) library(rockchalk) # Απόδοση των δεδομένων του αρχείου chapter16_1.sav στο πλαίσιο δεδομένων ch16a ch16a<-read.spss('chapter16_1.sav', to.data.frame=T) # Μέθοδος 1: Baron & Kenny # Total effect fit<-lm(WebAdd~Accept, data=ch16a) summary(fit) # Path A (X -> M) fita<-lm(SelfEst~Accept, data=ch16a) summary(fita) # Path B (M -> Y, controlling for X) fitb<-lm(WebAdd~SelfEst+Accept, data=ch16a) summary(fitb) # Reversed Path C (Y -> X, controlling for M) fitc<-lm(Accept~WebAdd+SelfEst, data=ch16a) summary(fitc) # Πίνακας από το πακέτο stargazer stargazer(fit, fita, fitb, fitc, type="text", title="Μέθοδος Baron & Kenny") # Υπολογισμός sobel test από το πακέτο multilevel sobel(ch16a$Accept, ch16a$SelfEst, ch16a$WebAdd) # Υπολογισμός sobel test από το πακέτο bda mediation.test(ch16a$SelfEst, ch16a$Accept, ch16a$WebAdd) # Μέθοδος 2: Με χρήση του πακέτου mediation # Γίνεται χρήση της μεθόδου των Preacher & Hayes (2004) # X -> M fitM<-lm(SelfEst~Accept, data=ch16a) # X + M -> Y fitY<-lm(WebAdd~Accept+SelfEst, data=ch16a) # Έλεγχοι των προϋποθέσεων gvlma(fitM) gvlma(fitY) # Ανάλυση διαμεσολάβησης fitMed<-mediate(fitM, fitY, treat="Accept", mediator="SelfEst") summary(fitMed) plot(fitMed) # Bootstrap fitMedBoot<-mediate(fitM, fitY, boot=T, sims=5000, treat="Accept", mediator="SelfEst") summary(fitMedBoot) plot(fitMedBoot) # Υπολογισμός της ανάλυσης ρύθμισης στο R # Φορτώνουμε τα ακόλουθα πακέτα library(foreign) library(medmod) library(stargazer) # Απόδοση των δεδομένων του αρχείου chapter16_2.sav στο πλαίσιο δεδομένων ch16b ch16b<-read.spss('chapter16_2.sav', to.data.frame=T) # Μέθοδος 1: Υπολογισμός με το πακέτο medmod # Τα αποτελέσματα είναι πανομοιότυπα με αυτά που δίνει το jamovi mod(ch16b, dep='growth', mod='antagon', pred='commit', ci=T, simpleSlopeEst=T, simpleSlopePlot=T) # Μέθοδος 2: Υπολογισμός με κεντροποίηση (αποτελέσματα ίδια με αυτά από το PROCESS) commit_c<-c(scale(ch16b$commit, center=T, scale=F)) # κεντροποίηση της προβλεπτικής μεταβλητής antagon_c<-(scale(ch16b$antagon, center=T, scale=F)) # κεντροποίηση της ρυθμιστικής μεταβλητής fitMod<-lm(ch16b$growth~commit_c + antagon_c + commit_c*antagon_c) summary(fitMod) stargazer(fitMod, type="text")