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/

0.0.1 ACME = 0.3565, 95% CI [0.2155, 0.5291] # significant!

0.0.2 ACME stands for Average Causal Mediation Effects

0.0.3 ADE stands for Average Direct Effects

0.0.4 Total Effect is a sum of a mediation (indirect) effect and a direct effect

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
LS0tDQp0aXRsZTogIk1lZGlhdGlvbiBBbmFseXNpcyINCmF1dGhvcjogIkJpbmggVGhhbmcgVHJhbiINCmRhdGU6ICJPY3RvYmVyLzIwLzIwMjAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogam91cm5hbA0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeShtZWRpYXRpb24pDQpgYGANCg0KDQoNCiNjaGF5IHRodSBtb2RlbA0KDQoNCg0KYGBge3J9DQpteURhdGEgPC0gcmVhZC5jc3YoJ2h0dHA6Ly9zdGF0aWMubGliLnZpcmdpbmlhLmVkdS9zdGF0bGFiL21hdGVyaWFscy9kYXRhL21lZGlhdGlvbkRhdGEuY3N2JykNCmhlYWQobXlEYXRhKQ0KbW9kZWwuMCA8LSBsbShZIH4gWCwgbXlEYXRhKQ0Kc3VtbWFyeShtb2RlbC4wKQ0KbW9kZWwuTSA8LSBsbShNIH4gWCwgbXlEYXRhKQ0Kc3VtbWFyeShtb2RlbC5NKQ0KbW9kZWwuWSA8LSBsbShZIH4gWCArIE0sIG15RGF0YSkNCnN1bW1hcnkobW9kZWwuWSkNCmxpYnJhcnkobWVkaWF0aW9uKQ0KaW5zdGFsbC5wYWNrYWdlcygibWVkaWF0aW9uIikNCmxpYnJhcnkobWVkaWF0aW9uKQ0KcmVzdWx0cyA8LSBtZWRpYXRlKG1vZGVsLk0sIG1vZGVsLlksIHRyZWF0PSdYJywgbWVkaWF0b3I9J00nLA0KYm9vdD1UUlVFLCBzaW1zPTUwMCkNCnN1bW1hcnkocmVzdWx0cykNCg0KYGBgDQoNCiNodHRwczovL2RhdGEubGlicmFyeS52aXJnaW5pYS5lZHUvaW50cm9kdWN0aW9uLXRvLW1lZGlhdGlvbi1hbmFseXNpcy8NCg0KIyMjIEFDTUUgPSAwLjM1NjUsIDk1JSBDSSBbMC4yMTU1LCAwLjUyOTFdICAjIHNpZ25pZmljYW50IQ0KIyMjIEFDTUUgc3RhbmRzIGZvciBBdmVyYWdlIENhdXNhbCBNZWRpYXRpb24gRWZmZWN0cw0KIyMjIEFERSBzdGFuZHMgZm9yIEF2ZXJhZ2UgRGlyZWN0IEVmZmVjdHMNCiMjIyBUb3RhbCBFZmZlY3QgaXMgYSBzdW0gb2YgYSBtZWRpYXRpb24gKGluZGlyZWN0KSBlZmZlY3QgYW5kIGEgZGlyZWN0IGVmZmVjdA0KDQpgYGB7cn0NCm1vZGVsLk0gPC0gbG0oTSB+IFgsIG15RGF0YSkNCm1vZGVsLlkgPC0gbG0oWSB+IFggKyBNLCBteURhdGEpDQpyZXN1bHRzIDwtIG1lZGlhdGUobW9kZWwuTSwgbW9kZWwuWSwgdHJlYXQ9J1gnLCBtZWRpYXRvcj0nTScsDQogICAgICAgICAgICAgICAgICAgYm9vdD1UUlVFLCBzaW1zPTEwMCkNCnN1bW1hcnkocmVzdWx0cykNCmBgYA0KDQo=