全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2720 5
2009-04-13
 name year var1 var2 var3
 x 2000 1  
 x 2001 1  
 x 2002 2  
 y 2000 3  
 y 2001 4  
 y 2002 4  
 z 2000 5  
 z 2001 5  
 z 2002 5  

典型的panel data。现在我要按name 将var1中2000和2001的值都替换为2002年var1的值,如将x 的2000年和2001年的var1值都替换为2002年的值2, 下同。求stata命令,谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2009-4-13 21:08:00
 
g v=var1 if year==2002
bys name: egen m=min(v)
replace var1=m if year==2000|year==2001
drop v m
eblog  金币 +2  金钱 +100  奖励 2009-4-15 9:28:03
二维码

扫码加我 拉你入群

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

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

2009-4-13 21:24:00

Many thanks! You are my hero!

二维码

扫码加我 拉你入群

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

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

2009-4-13 23:26:00
以下是引用sungmoo在2009-4-13 21:08:00的发言:
 
g v=var1 if year==2002
bys name: egen m=min(v)
replace var1=m if year==2000|year==2001
drop v m

要这么复杂吗?如下行不行:

sort name year
by name: replace var1 = var1[_N]

[此贴子已经被作者于2009-4-13 23:30:39编辑过]

二维码

扫码加我 拉你入群

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

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

2009-4-13 23:54:00
以下是引用voodoo在2009-4-13 23:26:00的发言:要这么复杂吗?如下行不行:
sort name year
by name: replace var1 = var1[_N]

前面的操作想针对更一般的数据,而非仅楼主给出的数据片段。

我们不知道year里是否还包含其他年份,也不知道每个name对应的year一定有2002。

二维码

扫码加我 拉你入群

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

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

2009-4-14 21:44:00

Thanks a lot! I have learned how to use _N and _n. Great!

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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