楼主: gongtianyu
8099 7

[编程问题求助] 急!一个小问题,求高手帮忙! [推广有奖]

已卖:498份资源

院士

46%

还不是VIP/贵宾

-

威望
1
论坛币
16492 个
通用积分
19.6219
学术水平
277 点
热心指数
279 点
信用等级
204 点
经验
-320 点
帖子
1796
精华
4
在线时间
1821 小时
注册时间
2007-11-7
最后登录
2025-12-19

楼主
gongtianyu 发表于 2013-6-13 11:55:15 |AI写论文
10论坛币
以下是原始代码,来自http://www.ats.ucla.edu/stat/stata/faq/modmed.htm.

quietly summarize w
global m=r(mean)
global s=r(sd)
generate wx=w*x  

capture program drop bootm2
program bootm2, rclass
  sureg (m x w wx)(y m x w wx)
  return scalar cielw = ([m]_b[x]+($m-$s)*[m]_b[wx])*[y]_b[m]
  return scalar ciemn = ([m]_b[x]+($m)*[m]_b[wx])*[y]_b[m]
  return scalar ciehi = ([m]_b[x]+($m+$s)*[m]_b[wx])*[y]_b[m]                       
end

bootstrap r(cielw) r(ciemn) r(ciehi), reps(500) nodots: bootm2




我修改了这段代码,修改的代码如下

quietly summarize w
global m=r(mean)
global s=r(sd)
generate wx=w*x  

capture program drop bootm1
program bootm1, rclass
  reg m x w wx
  nbreg y m x w wx
  return scalar cielw = ([m]_b[x]+($m-$s)*[m]_b[wx])*[y]_b[m]
  return scalar ciemn = ([m]_b[x]+($m)*[m]_b[wx])*[y]_b[m]
  return scalar ciehi = ([m]_b[x]+($m+$s)*[m]_b[wx])*[y]_b[m]                       
end

bootstrap r(cielw) r(ciemn) r(ciehi), reps(500) nodots: bootm1

但是stata reported equation [m] not found
an error occurred when bootstrap executed bootm1
有谁知道如何解决这个问题吗?非常感谢


最佳答案

h3327156 查看完整内容

*坦白说,这不一定对,因为我不知道您修改这程序要做什么。 *请参考以下程序,能运作,但不确定对不对。 use http://www.ats.ucla.edu/stat/data/hsb2, clear rename science y rename math x rename read m rename write w rename socst z quietly summarize w global m=r(mean) global s=r(sd) generate wx=w*x capture program drop bootm1 program bootm1, rclass reg m x w wx scalar a1=(_b[x] ...
关键词:求高手 小问题 Bootstrap summarize Bootstra summarize generate return

沙发
h3327156 发表于 2013-6-13 11:55:16
*坦白说,这不一定对,因为我不知道您修改这程序要做什么。
*请参考以下程序,能运作,但不确定对不对。

use http://www.ats.ucla.edu/stat/data/hsb2, clear
rename science y
rename math x
rename read m
rename write w
rename socst z

quietly summarize w
global m=r(mean)
global s=r(sd)
generate wx=w*x  

capture program drop bootm1
program bootm1, rclass
  reg m x w wx
   scalar a1=(_b[x]+($m-$s)*_b[wx])
   scalar a2=(_b[x]+($m)*_b[wx])
   scalar a3=(_b[x]+($m+$s)*_b[wx])
  nbreg y m x w wx
    return scalar cielw = a1*_b[m]
    return scalar ciemn = a2*_b[m]
    return scalar ciehi = a3*_b[m]                       
end

bootstrap r(cielw) r(ciemn) r(ciehi), reps(5) nodots: bootm1

*为快速测试能运作,只设reps(5),一般实证请至少设定500以上,但可能要一些时间

藤椅
h3327156 发表于 2013-6-13 12:37:31
问题Stata已经告诉您了!

人家sureg是一个指令两条方程,

您自己修改的,一个用reg,另一个用nbreg,两个指令两个方程
可是您在call scalar时,指定m方程下的系数估计,Stata不懂您在说什么。
不懂您在指定哪个指令哪个方程下的系数。

板凳
gongtianyu 发表于 2013-6-13 15:44:37
h3327156 发表于 2013-6-13 12:37
问题Stata已经告诉您了!

人家sureg是一个指令两条方程,
谢谢你的回答,我怎样才能把第一个方程中我想要的系数,保留下来,然后跑第二个方程,最后再用从两个方程中得到的系数去计算  cielw , ciemn, ciehi

报纸
gongtianyu 发表于 2013-6-13 15:44:41
h3327156 发表于 2013-6-13 12:37
问题Stata已经告诉您了!

人家sureg是一个指令两条方程,
谢谢你的回答,我怎样才能把第一个方程中我想要的系数,保留下来,然后跑第二个方程,最后再用从两个方程中得到的系数去计算  cielw , ciemn, ciehi

地板
fgleric 发表于 2013-6-14 00:10:59
原文和你的东西其实都不需要program。。。。

7
gongtianyu 发表于 2013-6-14 01:36:13
h3327156 发表于 2013-6-13 11:55
*坦白说,这不一定对,因为我不知道您修改这程序要做什么。
*请参考以下程序,能运作,但不确定对不对。
...
你的想法和我的想法一样。我还是要做moderated mediation test。 但是sureg是linear regression。我的y是count类型的数据,所以要用nbreg,这个是likelyhood estimation。我想你的程序应该是对的。

8
赵安豆 发表于 2024-12-25 16:21:38
看起来你提供的原始代码是从一个统计网站上摘录下来的,该代码是用于Stata软件中执行中介效应分析(mediation analysis)的一种方法。在这段代码中,首先计算变量`w`的均值和标准差,并生成一个新的交互项`wx`。然后定义了一个程序`bootm2`来估计介导模型中的间接效应及其置信区间。

在你的修改中,你仅仅截断了“quietly summarize w”这一行之后的部分代码,但没有给出具体的修改内容或问题描述。如果你想让代码从头开始运行,而不仅仅是跳过对变量`w`的总结部分,你可以完整地保留原始代码,并根据自己的数据集和分析需求进行调整。

如果你遇到的问题是关于如何正确运行这段代码、理解其输出结果或者在你的具体数据分析中遇到的其他问题,请提供更详细的信息。例如,你可能需要确保以下几点:
- 数据集已经加载到Stata环境中。
- 变量`w`, `x`, 和 `y` 已经定义并且存在于数据集中。
- 确认`sureg`命令是否适用于你的分析目的(结构方程模型或中介效应分析)。

如果你在尝试运行代码时遇到了错误消息,提供该错误信息将有助于更准确地解决问题。例如:
- 是否有未定义的变量?
- 是否有语法错误或者命令使用不当?
- 置信区间计算是否符合预期?

请补充具体问题和相关细节,以便于给出更加针对性的回答或建议。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-10 03:39