library(mediation)
## Warning: package 'mediation' was built under R version 4.0.3
## Loading required package: MASS
## Loading required package: Matrix
## Loading required package: mvtnorm
## Warning: package 'mvtnorm' was built under R version 4.0.3
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.0.3
## mediation: Causal Mediation Analysis
## Version: 4.5.0
#chay thu model
myData <- read.csv('http://static.lib.virginia.edu/statlab/materials/data/mediationData.csv')
head(myData)
## X M Y
## 1 6 5 6
## 2 7 5 5
## 3 7 7 4
## 4 8 4 8
## 5 4 3 5
## 6 4 4 7
model.0 <- lm(Y ~ X, myData)
summary(model.0)
##
## Call:
## lm(formula = Y ~ X, data = myData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.0262 -1.2340 -0.3282 1.5583 5.1622
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.8572 0.6932 4.122 7.88e-05 ***
## X 0.3961 0.1112 3.564 0.000567 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.929 on 98 degrees of freedom
## Multiple R-squared: 0.1147, Adjusted R-squared: 0.1057
## F-statistic: 12.7 on 1 and 98 DF, p-value: 0.0005671
model.M <- lm(M ~ X, myData)
summary(model.M)
##
## Call:
## lm(formula = M ~ X, data = myData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.3046 -0.8656 0.1344 1.1344 4.6954
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.49952 0.58920 2.545 0.0125 *
## X 0.56102 0.09448 5.938 4.39e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.639 on 98 degrees of freedom
## Multiple R-squared: 0.2646, Adjusted R-squared: 0.2571
## F-statistic: 35.26 on 1 and 98 DF, p-value: 4.391e-08
model.Y <- lm(Y ~ X + M, myData)
summary(model.Y)
##
## Call:
## lm(formula = Y ~ X + M, data = myData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.7631 -1.2393 0.0308 1.0832 4.0055
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.9043 0.6055 3.145 0.0022 **
## X 0.0396 0.1096 0.361 0.7187
## M 0.6355 0.1005 6.321 7.92e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.631 on 97 degrees of freedom
## Multiple R-squared: 0.373, Adjusted R-squared: 0.3601
## F-statistic: 28.85 on 2 and 97 DF, p-value: 1.471e-10
library(mediation)
install.packages("mediation")
## Warning: package 'mediation' is in use and will not be installed
library(mediation)
results <- mediate(model.M, model.Y, treat='X', mediator='M',
boot=TRUE, sims=500)
## Running nonparametric bootstrap
summary(results)
##
## Causal Mediation Analysis
##
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
##
## Estimate 95% CI Lower 95% CI Upper p-value
## ACME 0.3565 0.2166 0.51 <2e-16 ***
## ADE 0.0396 -0.2055 0.32 0.81
## Total Effect 0.3961 0.1445 0.65 <2e-16 ***
## Prop. Mediated 0.9000 0.4879 2.27 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Sample Size Used: 100
##
##
## Simulations: 500
#https://data.library.virginia.edu/introduction-to-mediation-analysis/
model.M <- lm(M ~ X, myData)
model.Y <- lm(Y ~ X + M, myData)
results <- mediate(model.M, model.Y, treat='X', mediator='M',
boot=TRUE, sims=100)
## Running nonparametric bootstrap
summary(results)
##
## Causal Mediation Analysis
##
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
##
## Estimate 95% CI Lower 95% CI Upper p-value
## ACME 0.3565 0.2459 0.56 <2e-16 ***
## ADE 0.0396 -0.2077 0.29 0.72
## Total Effect 0.3961 0.1749 0.65 <2e-16 ***
## Prop. Mediated 0.9000 0.5262 2.26 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Sample Size Used: 100
##
##
## Simulations: 100