全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8027 7
2013-06-13
悬赏 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] ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
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以上,但可能要一些时间
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-13 12:37:31
问题Stata已经告诉您了!

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

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-14 00:10:59
原文和你的东西其实都不需要program。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群