Stata 添加变量复杂

问题描述

我在 Stata 中有一个关于住房交易的数据集。现在我有一个数据集,其中每一行都是每笔交易持有期间的一年。我正在寻找使用概率模型研究某年房屋出售的概率。哑元表示该房屋是否在当年出售,1 已售出。

现在我想向我的数据中添加一个变量,其中包含该特定交易的持有期。这是我现在拥有的(一个例子):

虚拟 购买年份 当年
0 1620 1621
0 1620 1622
0 1620 1623
1 1620 1624
0 1622 1623
0 1622 1624
0 1622 1625
0 1622 1626
0 1622 1627
1 1622 1628

这就是我需要它成为的

虚拟 购买年份 当年 持有期
0 1620 1621 4
0 1620 1622 4
0 1620 1623 4
1 1620 1624 4
0 1622 1623 6
0 1622 1624 6
0 1622 1625 6
0 1622 1626 6
0 1622 1627 6
1 1622 1628 6

解决方法

假设每个房子都有某种 id 变量:

egen sold_year = max(current_year),by(house_id)
gen holding_period = sold_year - year_bought