微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xtdpdml:如何绘制交互图

如何解决xtdpdml:如何绘制交互图

我有一个 IV、一个 DV、一个调节器和两个控制变量。

面板数据与 5 年高度平衡。

有没有办法画出xtdpdml结果的交互图?

我已经尝试过常用的方法,(iv:自变量,值为 1 到 6;mo:moderator,值为 1 到 6)

egen iv = rowmean (q1 q2 q3 q4 q5 q6)
egen dv = rowmean (qd1 qd2 qd3 qd4 qd5 qd6)
egen mo = rpwmean (qm1 qm2 qm3 qm4 qm5 qm6)
egen im = iv * dv

xtdpdml dv,inv(gender birthyear) pre(iv mo im) fiml
 
summarize mo

global moa = round(r(mean) + r(sd),0.1)

global mo = round(r(mean),0.1)

global mob = round(r(mean) - r(sd),0.1)

margins,at(iv=(1(1)6) mo=($moa $mo $mob))

并且错误消息显示为“iv ambiguous abbreviation”。

解决方法

EDIT 这个答案是对使用完全不同的变量名称的问题的先前版本的回应。它只解决了一个附带问题,即如何显示四舍五入到所需小数位数的数字结果。

你的代码没有提到 pnv,所以很难评论。

我明白你想做什么,但这样做很尴尬,而且容易出错。问题在于 Stata 以二进制形式运行,并且只能精确地保存几个十进制小数 0.01(0.01)0.99,特别是 0.25 0.50 0.75。那是 99 个中的 3 个;其余的必须保持为近似值。其他 Stata 代码意味着您不会总是看到近似值,但不能保证。我会试试这个,这使得四舍五入成为真正的格式问题:

summarize sns
local snsa : di %2.1f r(mean) + r(sd)
local sns: di %2.1f r(mean) 
local snsb: di %2.1f r(mean) - r(sd)

margins,at(priv=(0(1)6) sns=(`snsa' `sns' `snsb'))

我不能排除代码其他部分的真正问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。