楼主: idaadin
10298 3

关于foreach 的嵌套循环问题 [推广有奖]

  • 1关注
  • 0粉丝

初中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0010
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
92 点
帖子
5
精华
0
在线时间
27 小时
注册时间
2011-10-2
最后登录
2020-11-2

楼主
idaadin 发表于 2012-5-27 11:50:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我目前写了一个循环语句


foreach num of numlist 1/22{
  local laternum=`num'+1
  gen copzinv`num'=1 if (r200`num'==2 & r200`laternum'==6)&(r24_1`num'==r24_1`laternum')
}

foreach num of numlist 1/22{
  local laternum=`num'+2
  replace copzinv`num'=1 if (r200`num'==2 & r200`laternum'==6)&(r24_1`num'==r24_1`laternum')
}


.
.
.

我现在的需要是:
将红色的数字连续迭代21次。

所以,想要用嵌套循环语句来实现,我写的嵌套循环语句是:
foreach i of numlist 1/22{
  foreach j of numlist 1/22{
  local gen lateri=`i'+`j'
  gen copzinv`i'=1 if (r200`i'==2 & r200`lateri'==6)&(r24_1`i'==r24_1`lateri') & lateri<23
  }
}


stata最后运行的结果是:
r200 ambiguous abbreviation

但是,我之前没有嵌套的时候没有问题,为何嵌套以后就有问题了呢?

二维码

扫码加我 拉你入群

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

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

关键词:foreach Reach For replace later replace local

沙发
sungmoo 发表于 2012-5-27 13:56:03
local gen  ?

藤椅
starjanus 发表于 2012-5-29 14:22:26
你定义的那个r200和stata中的一些命令用冲突,所以提示错误,换个变量名试试应该可以的。

板凳
idaadin 发表于 2013-4-14 14:48:25
starjanus 发表于 2012-5-29 14:22
你定义的那个r200和stata中的一些命令用冲突,所以提示错误,换个变量名试试应该可以的。
谢谢您的回复,问题解决了!

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

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