全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
23100 7
2015-11-25
悬赏 100 个论坛币 已解决
qiye year value
1            2000    2
1            2001     3
1             2002     4
1            2003       5

现在需要获得,企业(qiye)在2000-2003年 最大的出口额(value)减去最小的出口额,一共有1000家企业

求命令

最佳答案

夏目贵志 查看完整内容

egen maxvalue=max(value) if year>=2000&year=2000&year
二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-25 21:42:20
egen maxvalue=max(value) if year>=2000&year<=2003
egen minvalue=min(value) if year>=2000&year<=2003
gen diff=maxvalue-minvalue
二维码

扫码加我 拉你入群

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

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

2015-11-26 00:37:08
我猜楼主的意思应该是每个企业都要算一个最大值-最小值,而非所有企业中的最大值-所有企业中的最小值。所以,楼上的算法是后者,可能不是楼主想要的。所以,我建议应该这样写:
bys qiye:egen maxv=max(value)
bys qiye:egen minv=min(value)
gen diff=maxv-minv
这样,得到的结果就是每一个企业都单独有一个最大值-最小值的差。
而上面命令是假定你数据里面year只有2000到2003的数据, 而如果你也有>2003,或<2000的数据,则需要加上一个if限制条件,才能只计算2000-2003年的。命令如下:
bys qiye:egen maxv=max(value) if year>=2000 & year<=2003
bys qiye:egen minv=min(value) if year>=2000 & year<=2003
gen diff=maxv-minv

这样,其他的年份的就都为missing, 也就是.
二维码

扫码加我 拉你入群

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

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

2015-11-26 01:57:35
bysort qiye (value): gen diff=value[_N]-value[1]
二维码

扫码加我 拉你入群

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

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

2015-11-26 08:34:41
夏目贵志 发表于 2015-11-25 21:42
egen maxvalue=max(value) if year>=2000&year=2000&year
这个是根据企业的不同吗?因为有1000家企业(qiye)呢
二维码

扫码加我 拉你入群

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

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

2015-11-26 09:12:48
hunahun515 发表于 2015-11-26 08:34
这个是根据企业的不同吗?因为有1000家企业(qiye)呢
是我疏忽了。需要在命令前面加上bys qiye:
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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