bootstrap表格一对多_多中介模型在Amos中的实现

ba576755acc05cef2ccb80712e2227e8.png

本文主要意在介绍如何用Amos查看多中介模型中单个中介效应(specific indirect effect),当模型中只有一个中介时,查看output中的间接效应很方便,但当模型中有多于1个中介时,output中只显示总中介效应,很多人转而使用其它软件如Mplus了。其实Amos是可以查看单个中介效应的,只不过需要用到User-defined estimand功能。因此,本文使用链式中介模型为例,介绍User-defined estimand的基本操作。

a890cd16944edae27dadf282e8a94cc2.png
链式中介模型

上图的模型中包含4个变量,均为显变量,分别为q1-q4。

其中q2, q3是中介变量,q1经过q2再经过q3进而影响q4。因此,q2与q3在q1与q4的关系中扮演链式中介的作用。

建立好模型后,进入view菜单设置分析属性

2caa8b2106caa83e2ac55b57c12a33ab.png

在output选项中将Indirect, direct & total effects打钩

ea0aef592dba837b2d23b7dc9bafb1c0.png

在Bootstrap中设置2000次抽样、将矫正偏差的置信区间法(Bias-corrected confidence intervals)的置信水平(confidence level)设置为95%,即α=.05

caa9de2f467bed8cd3067dedd5d3b903.png

设置后关闭对话框即可,Amos中没有保存键,直接关闭对话框即意味着保存。

运行计算后,得到如下结果:

baa1ce8c3c12c097f7a869bbf027bb9a.png

打开详细结果output,点击Estimates→Matrices→Standardized Indirect Effects,然后点击左下角Bootstrap结果中的Estimates即可看到中介效应

3863de8f9ccb40b1e603d866aceb7305.png

在右侧的表格中,出现了一个3*3的表格,其中除了0之外,有3个数。

分别为.066, .112, .049

如何看中介效应表格?

.066代表q1对q3的中介效应

根据模型图的结果,我们可以验证一下。

下图中,q1对q3的间接路径用红色箭头表示,q1经过q2对q3产生了间接影响

.60*.11=.066

441d09839366c10561f46fa84e86b70d.png

第二个数字.112是q1对q4的间接效应

q1到q4的间接路径有3条,如下图,每种颜色代表一条间接路径

  1. 红色:q1→q2→q4,effect=.60*(-.15)=-.09
  2. 蓝色:q1→q3→q4, effect=.39*.44=.17
  3. 橙色:q1→q2→q3→q4, effect=.60*.11*.44=.03

总q1→q4的间接效应=-.09+.17+.03=.11

d04b03d9549042e24f561dd22cc33fb6.png

第三个数字.049代表q2到q4的间接效应

2db5efe5864d91eaebe96a36732ab5bf.png

.11*.44=0.048

计算的结果和Amos的结果有些出入的原因是计算机用原始数据计算,我们是手动计算保留两到三位小数

看懂了中介效应表格之后,问题来了!!!。也许我们对q2到q4的间接效应根本不感兴趣,而只对q2与q3的链式中介作用感兴趣,而Amos没有自动输出链式中介效应,上面靠手动计算才得知链式中介效应为.03。因此,我们采用User-defined estimand功能。

User-defined estimand

在使用该功能之前,先对模型中的所有路径进行命名。

比如我们将q1对q2的路径系数命名为a1,双击模型中q1指向q2的黑色箭头,在弹出的对话框中Regression weight出填写a1

012c010485579296b54135bd5eb1c004.png

最终的命名情况如下

80db99b4aca87372a98ff5124f750b55.png

下面使用自定义估计功能,该功能在Amos界面的左下角

e5bcdd00ddc15cc32d3fd3b4960704ea.png

点击之后,选择Define new estimands

b0e015261dffd2b6788024849ae64815.png

在弹出的对话框中写入自定义的命令,我们将第一个中介q2的单个中介效应起名为ind1,它应该由a1b1计算得出。因此,我们写入:ind1=a1*b1, 在写参数的时候,只需按下键盘上的p.后,所有的参数便会自动跳出来,我们用鼠标点击即可。

Note:

  • 输入p.,而不是p,记住后面有个“.”
  • 这里的p代表参数parameter

2980abe201997964685bef8a7a464c5a.png

继续写入p3的中介效应ind2、链式中介效应ind3、总间接效应totind、总效应total

ea50824d407055c7dec0b783ffa5a933.png

检查语法是否有错误

按下键盘上的Alt+S键检查syntax是否有错误

3d4525442ff31df39f63947842c276c4.png

如果显示Syntax is OK,则表示语法没有错误

使用单引号添加注释,单引号一定要在英文状态下输出

9f605e88e7099219ff90023d5052ef22.png

点击文件File保存save该语句,放在你能记得的路径,起一个你能记得的文件名

9b2b88e20aebc5923967dc8f847566ae.png

保存之后关闭对话框,可以看到左下角的自定义估计功能已经变成了刚刚我们保存的文件名

重新运行计算,打开详细报告output

b495d803f63249a8faffc6cf506b8119.png

点击Estimates→Scalars→User-defined estimands

右侧便会出现刚刚定义的5个参数,这一次不用我们手动计算了,Amos直接给出了我们所需的效应值。(这里效应和之前手动计算的值不一定是由于我举例子用的数据量很小,在bootstrap之后效应变化很大,如果你的样本较多,结果会较为稳定,不必担心此处变动)

d6ed43e49a1664080c94468ef65b014f.png

查看效应值的bootstrap区间

点击左下角Bias-corrected percentile method,右侧便会出现详细的数值,包含参数名称(Parameter),效应(Estimate),区间(Lower,Upper)及显著性(P)

ec327d1b6364a189be5cbee67ff15cae.png

本文只是拿链式中介举例展示如何使用自定义功能计算我们想要得到的中介效应,其他更为复杂的模型都可以通过先命名参数,后在User-defined estimands中写入命令的方式计算自定义的中介效应。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 Bootstrap 表格的行编辑状态,我可以给您进行详细介绍。 首先,Bootstrap Table 是一个基于 Bootstrap 的扩展,可以让表格更加美观、功能更加丰富。其,双击可编辑、添加、删除行的功能可以通过插件实现。 具体实现步骤如下: 1. 引入必要的文件 ``` <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.css"> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/extensions/editable/bootstrap-table-editable.min.js"></script> ``` 2. 准备表格数据 ``` var data = [ {id: 1, name: '张三', age: 20}, {id: 2, name: '李四', age: 25}, {id: 3, name: '王五', age: 30} ]; ``` 3. 定义表格 ``` <table id="table" data-editable="true"> <thead> <tr> <th data-field="id">ID</th> <th data-field="name">姓名</th> <th data-field="age">年龄</th> <th data-field="operate" data-formatter="operateFormatter" data-events="operateEvents">操作</th> </tr> </thead> </table> ``` 其,`data-editable="true"` 表示表格可编辑。 4. 初始化表格 ``` $(function () { $('#table').bootstrapTable({ data: data }); }); ``` 5. 定义操作列的格式化函数 ``` function operateFormatter(value, row, index) { return [ '<a class="edit" href="javascript:void(0)" title="编辑">', '<i class="glyphicon glyphicon-edit"></i>', '</a> ', '<a class="remove" href="javascript:void(0)" title="删除">', '<i class="glyphicon glyphicon-remove"></i>', '</a>' ].join(''); } ``` 6. 定义操作列的事件处理函数 ``` window.operateEvents = { 'click .edit': function (e, value, row, index) { // 编辑事件 $('#table').bootstrapTable('beginEditRow', index); }, 'click .remove': function (e, value, row, index) { // 删除事件 $('#table').bootstrapTable('remove', { field: 'id', values: [row.id] }); } }; ``` 7. 定义保存按钮的事件处理函数 ``` $('#save').click(function () { // 保存事件 $('#table').bootstrapTable('endAllEdit'); }); ``` 以上就是实现 Bootstrap 表格行编辑状态的详细步骤。需要注意的是,具体实现可能会因为版本的不同而有所差异,以上代码仅供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值