请选择 进入手机版 | 继续访问电脑版
楼主: 匿名
2726 4

[编程问题求助] 模拟事件发生概率的命令出现了问题 [推广有奖]

匿名网友
匿名网友  发表于 2013-4-25 16:14:10 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在stata 18讲中的第102页中,有个模拟发生概率的程序如下:
capt prog drop  seq3
prog seq3 ,rclass           //rclass 选项表示计算结果将由 return 返回到 r()
version 9
drop _all                      //清空所有数据,不能用 clear
set obs 10                      //将生成 10 个观察值
tempvar  x y z                   //设定 x,y,z 为临时变量
gen  `x’=int(10*uniform())        //产生 10 个随机变量,可能为 0,1,…,9
gen  `y’=(mod(`x’,2)==0)      //如果生成的随机变量为奇数,则 y=0;为偶数,y=1
gen  `z’=0                  //生成 Z=0
forvalues i=3/10  {
replace `z’=1 if `y’==`y’[_n-1] &  `y’==`y’[_n-2] in `i'    //连续三个变量相等时 z=1
}
sum `z’
return scalar  max=r(max)           //z 取 1 表示高兴的事发生(三连续),否则失败  
end

simulate max=r(max),reps(10000) nodots:seq3     //重复 1 万次,取平均结果
sum

我把它写成的命令形式如下:
clear
capture prog drop sq3
prog seq3,rclass
version 9
drop _all
set obs 10
tempvar x y z
gen `x'=int(10*uniform())
gen `y'=(mod(`x',2)==0)
gen `z'=0
forvalues i=3/10{
replace `z'=1 if `y'==`y'[_n -1]&`y'==`y'[_n-2]in `i'
}
sum `z'
return scalar max=r(max)
end
simulate max=r(max),reps(10000) nodots:seq3
sum

得出的结果是:

. clear

.
. capture prog drop sq3

.
. prog seq3,rclass
  1.
. version 9
  2.
. drop _all
  3.
. set obs 10
  4.
. tempvar x y z
  5.
. gen `x'=int(10*uniform())
  6.
. gen `y'=(mod(`x',2)==0)
  7.
. gen `z'=0
  8.
. forvalues i=3/10{
  9.
. replace `z'=1 if `y'==`y'[_n -1]&`y'==`y'[_n-2]in `i'
10.
. }
11.
. sum `z'
12.
. return scalar max=r(max)
13.
. end

.
. simulate max=r(max),reps(10000) nodots:seq3
equation [_n-2] not found
an error occurred when simulate executed seq3
r(303);

.
. sum

我一直搞不明白是哪个地方出错了,请赐教!













二维码

扫码加我 拉你入群

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

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

关键词:forvalues simulate forvalue equation occurred version return 程序

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ts123ts + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

匿名网友
匿名网友  发表于 2013-4-25 16:14:57 |坛友微信交流群
以上程序是用stata11运行的

使用道具

匿名网友
匿名网友  发表于 2013-4-25 16:35:23 |坛友微信交流群
知道错在哪里了,问题已解决

使用道具

lixiaolian44 发表于 2022-2-15 12:53:06 来自手机 |显示全部楼层 |坛友微信交流群
你好,我也有这个问题,请问错在哪里啊?

使用道具

Rachel儿 发表于 2023-4-25 20:30:02 |显示全部楼层 |坛友微信交流群
我也不知道,请问怎么解决

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 15:44