Baron & Kenny’s method with processR package

Causal steps approach by Baron and Kenny(1986) has benn the staandard approach to assess partial or full mediation. I have made a function mediationBK() to perfrom Baron & Kenny’s approach easily.

Data countries

Data countries included in klaR package is a socioeconomic data for the most famous countries. Gross domestic product per inhabitant affects the illiteracy rate and the illiteracy rate affects life expectancy.

require(processR)
if(!require(klaR)) install.packages("klaR")

data(countries,package="klaR")
labels=list(X="GDPpp",M="Illit",Y="LifeEx")
nodeslabels=list(X="GDP\n per inhabitant",M="Illiteracy Rate",
                 Y="Mean Life\nExpectation")
result=mediationBK(labels=labels,data=countries)

Statistical Model

plot(result,rady=0.08,nodeslabels=nodeslabels,arrowslabels=c("a","b","c"),whatLabel="label")

Model for Total Effect

plot(result,rady=0.08,type=1,nodeslabels=nodeslabels,arrowslabels=c("c"),whatLabel="label",addprime=FALSE)

Model Equations

for(i in 1:3) {
  cat(paste0("fit",i),"=", result$equations[[i]],"\n")
}  
fit1 = lm(LifeEx~GDPpp,data=countries) 
fit2 = lm(Illit~GDPpp,data=countries) 
fit3 = lm(LifeEx~Illit+GDPpp,data=countries) 

Models Summary

modelsSummaryTable(labels=labels,result$fit)

Consequent

Y(LifeEx)

M(Illit)

Y(LifeEx)

Antecedent

Coef

SE

t

p

Coef

SE

t

p

Coef

SE

t

p

X(GDPpp)

0.001

0.000

5.686

<.001

-0.001

0.000

-4.225

<.001

0.001

0.000

3.615

.001

M(Illit)

-0.200

0.077

-2.590

.013

Constant

60.037

1.774

33.849

<.001

26.979

3.394

7.950

<.001

65.439

2.665

24.554

<.001

Observations

42

42

42

R2

0.447

0.309

0.528

Adjusted R2

0.433

0.291

0.504

Residual SE

8.282 ( df = 40)

15.848 ( df = 40)

7.748 ( df = 39)

F statistic

F(1,40) = 32.329, p < .001

F(1,40) = 17.854, p < .001

F(2,39) = 21.824, p < .001

Result

result

Results of Baron and Kenny Method
Step 1 : Path C (Total Effect) : c = 0.001 ( p < 0.001 )
Step 2 : Path A (X on M) : a = -0.001 ( p < 0.001 )
Step 3 : Path B (M on Y, controlling for X) : b = -0.200 ( p = 0.013 )
Step 4 : Path C' (Direct Effect, X on Y, controlling for M) : c' = 0.001 ( p < 0.001 )
Result : Partial mediation 

Results of bda::mediation.test

            Sobel     Aroian    Goodman
z.value 2.2080915 2.16446846 2.25446305
p.value 0.0272379 0.03042841 0.02416705

Statistical Model

plot(result,rady=0.08,nodeslabels=nodeslabels)

Model for Total Effect

plot(result,rady=0.08,type=1,nodeslabels=nodeslabels)

LS0tCnRpdGxlOiAiQmFyb24gJiBLZW5ueSdzIG1ldGhvZCIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogc2hvdwogICAgZm9udHNpemU6IDhwdAogICAgaGlnaGxpZ2h0OiB0ZXh0bWF0ZQogICAgbnVtYmVyX3NlY3Rpb25zOiBubwogICAgdGhlbWU6IGZsYXRseQogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBubwotLS0KClxwYWdlYnJlYWsKCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoY2FjaGUgPSBUUlVFLGNvbW1lbnQgPSBOQSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKSAjU2hvdyBhbGwgc2NyaXB0IGJ5IGRlZmF1bHQKa25pdHI6Om9wdHNfY2h1bmskc2V0KG1lc3NhZ2UgPSBGQUxTRSkgI2hpZGUgbWVzc2FnZXMgCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gIEZBTFNFKSAjaGlkZSBwYWNrYWdlIHdhcm5pbmdzIAprbml0cjo6b3B0c19jaHVuayRzZXQoZmlnLndpZHRoPTcpICNTZXQgZGVmYXVsdCBmaWd1cmUgc2l6ZXMKa25pdHI6Om9wdHNfY2h1bmskc2V0KGZpZy5oZWlnaHQ9NSkgI1NldCBkZWZhdWx0IGZpZ3VyZSBzaXplcwprbml0cjo6b3B0c19jaHVuayRzZXQoZmlnLmFsaWduPSdjZW50ZXInKSAjU2V0IGRlZmF1bHQgZmlndXJlCmtuaXRyOjpvcHRzX2NodW5rJHNldChyZXN1bHRzID0gImhvbGQiKSAKYGBgCgoKIyMgQmFyb24gJiBLZW5ueSdzIG1ldGhvZCB3aXRoIHByb2Nlc3NSIHBhY2thZ2UgCgpgQ2F1c2FsIHN0ZXBzIGFwcHJvYWNoYCBieSBCYXJvbiBhbmQgS2VubnkoMTk4NikgaGFzIGJlbm4gdGhlIHN0YWFuZGFyZCBhcHByb2FjaCB0byBhc3Nlc3MgcGFydGlhbCBvciBmdWxsIG1lZGlhdGlvbi4gSSBoYXZlIG1hZGUgYSBmdW5jdGlvbiBtZWRpYXRpb25CSygpIHRvIHBlcmZyb20gQmFyb24gJiBLZW5ueSdzIGFwcHJvYWNoIGVhc2lseS4gCgojIyBEYXRhIGBjb3VudHJpZXNgCgpEYXRhIGBjb3VudHJpZXNgIGluY2x1ZGVkIGluIGtsYVIgcGFja2FnZSBpcyBhIHNvY2lvZWNvbm9taWMgZGF0YSBmb3IgdGhlIG1vc3QgZmFtb3VzIGNvdW50cmllcy4gR3Jvc3MgZG9tZXN0aWMgcHJvZHVjdCBwZXIgaW5oYWJpdGFudCBhZmZlY3RzIHRoZSBpbGxpdGVyYWN5IHJhdGUgYW5kIHRoZSBpbGxpdGVyYWN5IHJhdGUgYWZmZWN0cyBsaWZlIGV4cGVjdGFuY3kuIAoKYGBge3J9CnJlcXVpcmUocHJvY2Vzc1IpCmlmKCFyZXF1aXJlKGtsYVIpKSBpbnN0YWxsLnBhY2thZ2VzKCJrbGFSIikKCmRhdGEoY291bnRyaWVzLHBhY2thZ2U9ImtsYVIiKQpsYWJlbHM9bGlzdChYPSJHRFBwcCIsTT0iSWxsaXQiLFk9IkxpZmVFeCIpCm5vZGVzbGFiZWxzPWxpc3QoWD0iR0RQXG4gcGVyIGluaGFiaXRhbnQiLE09IklsbGl0ZXJhY3kgUmF0ZSIsCiAgICAgICAgICAgICAgICAgWT0iTWVhbiBMaWZlXG5FeHBlY3RhdGlvbiIpCnJlc3VsdD1tZWRpYXRpb25CSyhsYWJlbHM9bGFiZWxzLGRhdGE9Y291bnRyaWVzKQpgYGAKCiMjIFN0YXRpc3RpY2FsIE1vZGVsIAoKYGBge3J9CnBsb3QocmVzdWx0LHJhZHk9MC4wOCxub2Rlc2xhYmVscz1ub2Rlc2xhYmVscyxhcnJvd3NsYWJlbHM9YygiYSIsImIiLCJjIiksd2hhdExhYmVsPSJsYWJlbCIpCmBgYAoKIyMgTW9kZWwgZm9yIFRvdGFsIEVmZmVjdAoKYGBge3J9CnBsb3QocmVzdWx0LHJhZHk9MC4wOCx0eXBlPTEsbm9kZXNsYWJlbHM9bm9kZXNsYWJlbHMsYXJyb3dzbGFiZWxzPWMoImMiKSx3aGF0TGFiZWw9ImxhYmVsIixhZGRwcmltZT1GQUxTRSkKYGBgCgojIyBNb2RlbCBFcXVhdGlvbnMKCmBgYHtyfQpmb3IoaSBpbiAxOjMpIHsKICBjYXQocGFzdGUwKCJmaXQiLGkpLCI9IiwgcmVzdWx0JGVxdWF0aW9uc1tbaV1dLCJcbiIpCn0gIApgYGAKCgojIyBNb2RlbHMgU3VtbWFyeQoKYGBge3J9Cm1vZGVsc1N1bW1hcnlUYWJsZShsYWJlbHM9bGFiZWxzLHJlc3VsdCRmaXQpCmBgYAoKIyMgUmVzdWx0CgpgYGB7cn0KcmVzdWx0CmBgYAoKIyMgU3RhdGlzdGljYWwgTW9kZWwgCgpgYGB7cn0KcGxvdChyZXN1bHQscmFkeT0wLjA4LG5vZGVzbGFiZWxzPW5vZGVzbGFiZWxzKQpgYGAKCiMjIE1vZGVsIGZvciBUb3RhbCBFZmZlY3QKCmBgYHtyfQpwbG90KHJlc3VsdCxyYWR5PTAuMDgsdHlwZT0xLG5vZGVzbGFiZWxzPW5vZGVzbGFiZWxzKQpgYGA=