楼主: denver
4971 5

[求助]关于foreach命令出错 [推广有奖]

贵宾

六级木匠

已卖:776份资源

学科带头人

74%

还不是VIP/贵宾

-

威望
1
论坛币
190109 个
通用积分
7167.4040
学术水平
564 点
热心指数
508 点
信用等级
506 点
经验
66338 点
帖子
1490
精华
12
在线时间
1448 小时
注册时间
2004-11-17
最后登录
2025-12-27

初级学术勋章 初级热心勋章 初级信用勋章 中级学术勋章 中级热心勋章 高级学术勋章

楼主
denver 发表于 2009-6-6 15:06:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

大家帮忙看看这个命令,总是返回 /invalid name,不知道是怎么回事


foreach i in 2002/2008{
gen double y`i'=cond(year==i,1,0)
}

二维码

扫码加我 拉你入群

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

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

关键词:foreach Reach For invalid double 命令 foreach

回帖推荐

voodoo 发表于6楼  查看完整内容

认真看了help foreach,才知道,原来在foreach i in 2002/2008 {...}中2002/2008被看成any_list的一个元素啦,而非denver想要的numlists!也就是说2002_2008确实是any_list,但此时any_list只包括2002/2008这一元素。 foreach i in 2002/2008 { di "`i'" } 将显示 2002/2008 用forvalues i = 2002/2008 { // help forvalues推荐用此方法,the fastest! 或foreach i of numlist 2002/2008 {

sungmoo 发表于4楼  查看完整内容

*如果一定要用"foreach"与"2002/2008(步长为1)",可使用foreach i of num 2002/2008{…} 

voodoo 发表于3楼  查看完整内容

foreach lname in any_list {Is 2002/2008 any_list?. foreach i in 2002/2008 {  2. disp `i'    3. }.997012             // 0.997012 = 2002/2008 [此贴子已经被作者于2009-6-7 0:14:38编辑过]

本帖被以下文库推荐

Denver大家一起读Paper系列索引贴:
https://bbs.pinggu.org/thread-1430892-1-1.html

沙发
denver 发表于 2009-6-6 15:18:00

刚才试了一下,下面的这个命令可以

forvalues i=2002/2008{
gen double y`i'=cond(year==`i',1,0)
}

但是即使改为

foreach i in 2002/2008{
gen double y`i'=cond(year==`i',1,0)
}

仍然是不行的,请高手赐教其中原因,谢谢。

Denver大家一起读Paper系列索引贴:
https://bbs.pinggu.org/thread-1430892-1-1.html

藤椅
voodoo 发表于 2009-6-7 00:09:00



foreach lname in any_list {

Is 2002/2008 any_list?



. foreach i in 2002/2008 {
  2. disp `i' 
  3. }
.997012             // 0.997012 = 2002/2008












[此贴子已经被作者于2009-6-7 0:14:38编辑过]

巫毒上传,必属佳品!
坛友下载,三思后行!

板凳
sungmoo 发表于 2009-6-8 10:03:00

*如果一定要用"foreach"与"2002/2008(步长为1)",可使用

foreach i of num 2002/2008{

报纸
denver 发表于 2009-6-10 16:58:00
多谢两位老兄
Denver大家一起读Paper系列索引贴:
https://bbs.pinggu.org/thread-1430892-1-1.html

地板
voodoo 发表于 2009-7-9 23:59:39
voodoo 发表于 2009-6-7 00:09
foreach lname in any_list {
Is 2002/2008 any_list?
. foreach i in 2002/2008 {
  2. disp `i'
  3. }
.997012             // 0.997012 = 2002/2008

[此贴子已经被作者于2009-6-7 0:14:38编辑过]

认真看了help foreach,才知道,原来在foreach i in 2002/2008 {...}中2002/2008被看成any_list的一个元素啦,而非denver想要的numlists!也就是说2002_2008确实是any_list,但此时any_list只包括2002/2008这一元素。

foreach i in 2002/2008 {
         di "`i'"
}
将显示
2002/2008

用forvalues i = 2002/2008 {     // help forvalues推荐用此方法,the fastest!
或foreach i of numlist 2002/2008 {
巫毒上传,必属佳品!
坛友下载,三思后行!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-28 16:01