楼主: maximus11111
2850 9

求教,如何消除这个问题 [推广有奖]

  • 3关注
  • 2粉丝

副教授

7%

还不是VIP/贵宾

-

威望
0
论坛币
7014 个
通用积分
2.8198
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
13380 点
帖子
451
精华
0
在线时间
976 小时
注册时间
2006-10-29
最后登录
2024-5-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

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,怎么消除这个问题啊??

二维码

扫码加我 拉你入群

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

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

关键词:counter Program capture Offset Count 求教 消除

沙发
蓝色 发表于 2009-2-18 07:16:00 |只看作者 |坛友微信交流群

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

使用道具

藤椅
maximus11111 发表于 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又不能换,还有如果都要这样的话,那么程序大的话怎么弄,晕死了

使用道具

板凳
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这样设定不对的咯,该怎么表达呢??

使用道具

报纸
maximus11111 发表于 2009-2-18 11:37:00 |只看作者 |坛友微信交流群
我靠,好多问题啊,学的郁闷了

使用道具

地板
maximus11111 发表于 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的版本中不可以。。。。。不过还是不知道怎么改。。。。。。。。。。

使用道具

7
maximus11111 发表于 2009-2-18 21:24:00 |只看作者 |坛友微信交流群

请问哪位高手知道第一个怎么改的??

使用道具

8
eblog 发表于 2009-2-18 21:36:00 |只看作者 |坛友微信交流群
程序逻辑有点乱

使用道具

9
maximus11111 发表于 2009-2-19 18:34:00 |只看作者 |坛友微信交流群
以下是引用maximus11111在2009-2-18 0:49:00的发言:

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,怎么消除这个问题啊??

 这个改改试试看咯??

使用道具

10
arlionn 在职认证  发表于 2009-2-19 19:43:00 |只看作者 |坛友微信交流群

解释一下这个程序的基本思路,

另外,sum是个什么变量?

使用道具

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

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

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

GMT+8, 2024-5-18 00:55