引自免费微信小程序:皆我百晓生
要修改Stata中的链式中介效应分析代码,首先确保理解当前模型设置:您正在通过gsem命令估计一个结构方程模型,其中包含了直接效应、两个间接效应(通过Pre和lnGIA作为中介变量)以及总效应的计算。接下来,我将提供一个调整后的代码示例,同时尝试根据您的图示描述构建中介效应的直观表示。
修改后的Stata代码
首先,让我们对原始代码做一些可能的调整或澄清,以更好地适应不同的研究需求或更清晰地展示中介效应。
* 假设全局定义的控制变量和模型设定保持不变
global Ctrls "lev_w dual_w liquid_w lnsize1_w i.id i.year"
* 定义并执行Fun_Med程序,这里增加了一些注释以便理解
capture program drop Fun_Med
program define Fun_Med, rclass
gsem (lnPro_w <- DID2 Pre lnGIA $Ctrls) , vce(robust) nocaps // 直接在因变量前指定所有自变量
// 计算效应
return scalar CIE1 = _b[Pre]*_b[lnPro_w:Pre] // 通过Pre的间接效应 (Ind1)
return scalar CIE2 = _b[lnGIA]*_b[lnPro_w:lnGIA] // 通过lnGIA的间接效应 (Ind2)
return scalar CIE3 = _b[DID2]*(_b[lnPro_w:Pre]*_b[Pre] + _b[lnPro_w:lnGIA]*_b[lnGIA]) // 双重中介的间接效应 (Ind3)
return scalar DirctE = _b[DID2] // DID2的直接效应
return scalar TotalE = _b[DID2] + r(CIE1) + r(CIE2) + r(CIE3) // 总效应考虑所有路径
end
* 设置随机种子并运行Fun_Med
set seed 123
Fun_Med
* 进行Bootstrap以获得效应的置信区间
bootstrap r(DirctE) r(CIE1) r(CIE2) r(CIE3) r(TotalE), reps(1000) nodots saving(mediation_results, replace): Fun_Med
estat boot, bc percentile // 查看Bootstrap结果
中介效应示意图解释
由于直接在文本中绘制图形受限,我将用文字和符号描述中介效应的路径,对应于您提供的图1和图2的内容描述。
图形描述
-
直接路径: DID → PRO 表示直接效应(Direct Effect, DirctE),由系数b1(即_b[DID2])表示。
-
间接路径1 (Ind1): DID → Pre → PRO,通过Pre作为第一个中介变量的间接效应,计算为CIE1 = b[Pre:DID2] * b[lnPro_w:Pre]。
-
间接路径2 (Ind2): DID → lnGIA → PRO,通过lnGIA作为第二个中介变量的间接效应,计算为CIE2 = b[lnGIA:DID2] * b[lnPro_w:lnGIA]。
-
综合间接效应: 在实际链式中介模型中,还可能包括DID → Pre → lnGIA → PRO的路径,这代表了通过两个中介变量的联合间接效应,也就是所谓的双重中介效应(CIE3),但需要注意的是,上述Stata代码中直接计算了两个独立间接效应的总和,未明确分离出这一特定的交互路径效应。如果需要精确计算此额外的间接效应,模型设定和计算方法可能需要进一步调整。
通过上述代码和描述,您可以评估和报告DID政策对lnPro_w(PRO)的直接效应、单个中介效应以及潜在的综合间接效应,并通过Bootstrap得到这些效应的置信区间。如果您有特定的图形绘制需求或进一步的统计检验要求,请告知,我会尽力提供指导。