全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3287 9
2009-02-18

capture program drop counter
set more off
set obs 10
gen counter=0
    local i=1
    while `i'<=10000 {
               quietly gen heads=0
               quietly replace heads = heads + int(uniform()*2)
               quietly egen sum counter = counter+1 if sum==3
               drop heads sum
               disp `i'
    local i=`i'+1
}

为什么这个程序一运行就出现

counter already defined,怎么消除这个问题啊??

二维码

扫码加我 拉你入群

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

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

全部回复
2009-2-18 07:16:00

couter产生一次以后,第二此只能用replace

二维码

扫码加我 拉你入群

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

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

2009-2-18 11:22:00

 程序怎么弄呢那?还是调不出来!!

capture program drop counter
set more off
set obs 10
replace counter=0
    local i=1
    while `i'<=10000 {
               quietly replace heads=0
               quietly replace heads = heads + int(uniform()*2)
               quietly egen sum counter = counter+1 if sum==3
               drop heads sum
               disp `i'
    local i=`i'+1
}
到了下面还是这样的,egen又不能换,还有如果都要这样的话,那么程序大的话怎么弄,晕死了

二维码

扫码加我 拉你入群

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

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

2009-2-18 11:31:00


mata
A=uniform(10000,3):<0.49
B=J(10000,1,1)
for(i=1;i<=rows(A);i++) {
  if(A[i,.]==(0,0,0)) {
    B[i,1]=0
  }
  }
mean(B)
end

这个程序怎么又有问题,说什么 mean():  3001  expected 2 arguments but received 1,就是说B这样设定不对的咯,该怎么表达呢??

二维码

扫码加我 拉你入群

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

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

2009-2-18 11:37:00
我靠,好多问题啊,学的郁闷了
二维码

扫码加我 拉你入群

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

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

2009-2-18 11:47:00
以下是引用maximus11111在2009-2-18 11:31:00的发言:


mata
A=uniform(10000,3):<0.49
B=J(10000,1,1)
for(i=1;i<=rows(A);i++) {
  if(A[i,.]==(0,0,0)) {
    B[i,1]=0
  }
  }
mean(B)
end

这个程序怎么又有问题,说什么 mean():  3001  expected 2 arguments but received 1,就是说B这样设定不对的咯,该怎么表达呢??

这个在10的版本中能运行,但在9的版本中不可以。。。。。不过还是不知道怎么改。。。。。。。。。。

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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