楼主: 青青云游
1839 2

[其他] loop 循环的结果总是不对,哪位大牛来帮着看一下吧多谢啦 [推广有奖]

  • 0关注
  • 0粉丝

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
3137 个
通用积分
0.0623
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
875 点
帖子
68
精华
0
在线时间
55 小时
注册时间
2005-10-7
最后登录
2015-6-13

楼主
青青云游 发表于 2011-10-7 12:33:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据是这样的:
第一列是竞价者bidder的ID,每个code对应一个竞价者。
第二列是竞价者出的价格。
第三列是这个竞价结束的时间,我们也可以把一个竞价结束时间看成一个物品,不同竞价结束时间对应不同的物品。
第四列是竞价者出价的时间
竞价者对同一个物品可能会多次出价。
我现在想增加一列lastbid,等于竞价者对同一个物品上一次的出价。
下面是我写的循环。

gen lastbid = .
levelsof  enddate, local(tempdate)
foreach i of local tempdate {
xtset biddercode biddate
qui by biddercode: replace lastbid=bid[_n-1] if enddate ==`i'
}

但是结果总是不对,比如红字那行,应该是没有返回值的,因为对应的是一个新物品(结束时间),但是输出结果总是,同一个bidder上一个物品的bid值(-0.041)。这说明循环根本没起作用。不用循环,直接运行 qui by biddercode: replace lastbid=bid[_n-1] 也可以得到同样的结果。哪位大侠能给说说怎么回事吗?我还贴了一张详细一些的excel表。万分感谢!

Bidder Code  Bid                End Date        Bid Date
0                 -0.09        30-Sep-04        30-Sep-04
5469          -0.0403        30-Sep-04        21-Oct-04
43594        -0.041        30-Sep-04        27-Oct-04
478                -0.09                31-Dec-04        16-Dec-04
43594        -0.0584        31-Dec-04        8-Nov-04
43594        -0.1177        31-Dec-04        29-Nov-04
43594        -0.1222        31-Dec-04        20-Dec-04
43594        -0.1139        31-Dec-04        20-Jan-05
44775        -0.0654        31-Dec-04        3-Jan-05
71785        -0.0919        31-Dec-04        5-Nov-04
84303        -0.05         31-Dec-04        22-Nov-04
87125        -0.07                31-Dec-04        29-Nov-04
二维码

扫码加我 拉你入群

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

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

关键词:loop replace foreach Levels Excel表 replace local

沙发
青青云游 发表于 2011-10-7 21:04:34
再来顶一下!
Enjoy everyday!

藤椅
ctx5518 发表于 2011-10-10 11:59:39
you can try sort the variable list by biddercode, enddate and biddate.
then using the below code:

by biddercode enddate: replace lastbid=bid[_n-1]

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

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