全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
11328 2
2013-04-27
假设4个变量,id,year,a,b,数据如下:
                       001  2012  33  55
                       001  2012  11  22
                       002  2011  22  66
                       002  2011  11  33
我现在要把id,year相同的观察值合并,但规则是若id,year相同则把变量a的值相加,但变量b只取小的那个数。请问如何实现?
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-28 19:15:48
先保证id和year为string型变量
gen id2=id+year
gen a2=.
gen b2=.
sort id2
replace a2=a[_n]+a[_n-1] if id2[_n]==id2[_n-1]
replace b2=min(b[_n], b[_n-1]) if id2[_n]==id2[_n-1]
二维码

扫码加我 拉你入群

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

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

2013-4-29 12:29:36
谢谢,我后来用的
bysort id year: egen anew = sum(a)
bysort id year: egen bnew = min(b)
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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