如何找到变量

时间:2015-05-14 02:03:00

标签: stata

我创建了一个工作示例数据集:

input ///
group value
1    3
1    2
1    3 
2    4
2    6
2    7 
3    4
3    4 
3    4
3    4
4    17
4    2
5    3
5    5
5    12
end

我的目标是找出value内增量group之间的最大距离。对于group 2,这将是2,因为4之后的下一个最高值是6。请注意,与value相关的唯一46,而不是7,因为7不是4之后的下一个最高值。群组3的结果为0,因为群组3中只有一个值。每group只会有一个结果。

我想得到什么:

input ///
group value result
1    3    1
1    2    1
1    3    1
2    4    2
2    6    2
2    7    2
3    4    0
3    4    0
3    4    0
3    4    0
4    17   15
4    2    15
5    3    7
5    5    7
5    12   7
end

订单并不重要,因此上面的订单可以毫无问题地改变。

任何提示?

1 个答案:

答案 0 :(得分:2)

我可能已经弄明白了:

bys group (value): gen d = value[_n+1] - value[_n]
bys group: egen result = max(d)
drop d