#############################

# 調整媒介分析(R: mediationパッケージ)

# Input

#############################

 

# データの読み込み

dat <- read.csv("chapter8.csv", fileEncoding = "cp932")

 

# mediationパッケージの読み込み

library(mediation)

 

# 変数の中心化

attach(dat)

dat$性別_c <- 性別 - mean(性別)

dat$現浪_c <- 現浪 - mean(現浪)

dat$学年_c <- 学年 - mean(学年)

dat$挑戦_c <- 挑戦 - mean(挑戦)

dat$回避_c <- 回避 - mean(回避)

dat$自己活用接近対処_c <- 自己活用接近対処 - mean(自己活用接近対処)

dat$自己活用回避対処_c <- 自己活用回避対処 - mean(自己活用回避対処)

dat$他者活用対処_c <- 他者活用対処 - mean(他者活用対処)

detach(dat)

 

# ±1SDの単純傾斜分析用の変数作成

attach(dat)

dat$回避_high <- 回避_c - sd(回避_c)

dat$回避_low <- 回避_c + sd(回避_c)

detach(dat)

 

# 「回避」を調整変数,「自己活用接近対処」を媒介変数とする調整媒介分析

## 「回避」が平均値の時のの偏回帰係数

a.int <- lm(自己活用接近対処_c ~ 性別_c + 現浪_c + 学年_c + 自己活用回避対処_c*回避_c, data = dat)

b.int <- lm(情動知能の成長感 ~ 性別_c + 現浪_c + 学年_c + 自己活用接近対処_c*回避_c + 自己活用回避対処_c*回避_c, data = dat)

summary(a.int)

summary(b.int)

 

## 「回避」が+1SDの時の偏回帰係数

a.int.plus1SD <- lm(自己活用接近対処_c ~ 性別_c + 現浪_c + 学年_c + 自己活用回避対処_c*回避_high, data = dat)

b.int.plus1SD <- lm(情動知能の成長感 ~ 性別_c + 現浪_c + 学年_c + 自己活用接近対処_c*回避_high + 自己活用回避対処_c*回避_high, data = dat)

summary(a.int.plus1SD)

summary(b.int.plus1SD)

 

## 「回避」が-1SDの時の偏回帰係数

a.int.minus1SD <- lm(自己活用接近対処_c ~ 性別_c + 現浪_c + 学年_c + 自己活用回避対処_c*回避_low, data = dat)

b.int.minus1SD <- lm(情動知能の成長感 ~ 性別_c + 現浪_c + 学年_c + 自己活用接近対処_c*回避_low + 自己活用回避対処_c*回避_low, data = dat)

summary(a.int.minus1SD)

summary(b.int.minus1SD)

 

## 間接効果の検定

result.plus1SD <- mediate(a.int, b.int, sims=5000, boot = TRUE, boot.ci.type = "bca", treat="自己活用回避対処_c", mediator="自己活用接近対処_c", covariates = list(回避_c = sd(dat$回避_c)))

result.minus1SD <- mediate(a.int, b.int, sims=5000, boot = TRUE, boot.ci.type = "bca", treat="自己活用回避対処_c", mediator="自己活用接近対処_c", covariates = list(回避_c = -sd(dat$回避_c)))

summary(result.plus1SD)

summary(result.minus1SD)fa