楼主: hunahun515
21820 7

[面板数据求助] 求最大值减最小值的stata命令 [推广有奖]

  • 10关注
  • 5粉丝

学科带头人

5%

还不是VIP/贵宾

-

威望
1
论坛币
950 个
通用积分
7.9239
学术水平
9 点
热心指数
13 点
信用等级
8 点
经验
1709 点
帖子
727
精华
0
在线时间
2166 小时
注册时间
2012-7-18
最后登录
2020-8-15

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
关键词:stata命令 Stata tata 最大值 最小值 最大值 最大的
沙发
夏目贵志 发表于 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
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

藤椅
raymondxiang 发表于 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, 也就是.
已有 5 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
绣衣行客496 + 1 + 1 精彩帖子
qiuyanpu + 1 + 1 + 1 精彩帖子
况我堕胡尘5 + 5 精彩帖子
admin_kefu + 20 热心帮助其他会员
夏目贵志 + 10 + 2 是。我看示例数据里只有一家企业就疏忽了。

总评分: 经验 + 10  论坛币 + 20  学术水平 + 7  热心指数 + 4  信用等级 + 1   查看全部评分

使用道具

板凳
hplcdadong 发表于 2015-11-26 01:57:35 |只看作者 |坛友微信交流群
bysort qiye (value): gen diff=value[_N]-value[1]
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

报纸
hunahun515 发表于 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:

使用道具

7
5589241558 发表于 2020-3-18 14:30:40 |只看作者 |坛友微信交流群
raymondxiang 发表于 2015-11-26 00:37
我猜楼主的意思应该是每个企业都要算一个最大值-最小值,而非所有企业中的最大值-所有企业中的最小值。所以 ...
如果这个最大和最小值的差三年滚动怎么求?谢谢

使用道具

8
5589241558 发表于 2020-3-18 14:32:49 |只看作者 |坛友微信交流群
raymondxiang 发表于 2015-11-26 00:37
我猜楼主的意思应该是每个企业都要算一个最大值-最小值,而非所有企业中的最大值-所有企业中的最小值。所以 ...
老师,一组面板数据,以三年为一个周期,我想计算2001-2003EBIT变量最大值和最小值之差,2002-2004EBIT变量最大值和最小值之差,以此类推,怎么计算?
stock year EBIT
stock year EBIT
2 2001 .076906
2 2002 .062621
2 2003 .07855
2 2004 .08086
2 2005 .090594
4 2002 .055965
4 2003 .058685
4 2004 .001292
4 2005 -.096987

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-5 02:28