全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1798 2
2011-10-07
数据是这样的:
第一列是竞价者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
附件列表

Bidder.xlsx

大小:9.17 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2011-10-7 21:04:34
再来顶一下!
二维码

扫码加我 拉你入群

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

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

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]
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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