Stata交互变量基准年

Stata interaction variable base year

我的数据格式如下:

clear all
input year  ID  var1    var2
2000    1   100 .
2001    1   200 0.2
2002    1   300 0.3
2000    2   500 .
2001    2   300 0.4
2002    2   400 0.1
end

我想在 var1var2 之间创建一个交互变量,其中 var1 总是采用我有数据的第一年的值(在本例中 year 2000年为基准年)。

year ID var1 var2 var1xvar2
2000 1 100 . .
2001 1 200 0.2 20
2002 1 300 0.3 30
2000 2 500 . .
2001 2 300 0.4 200
2002 2 400 0.1 50

我怎样才能做到这一点?

以下对我有用:

bysort ID (year): gen wanted = var1[1] * var2

list, sepby(ID)

     +----------------------------------+
     | year   ID   var1   var2   wanted |
     |----------------------------------|
  1. | 2000    1    100      .        . |
  2. | 2001    1    200     .2       20 |
  3. | 2002    1    300     .3       30 |
     |----------------------------------|
  4. | 2000    2    500      .        . |
  5. | 2001    2    300     .4      200 |
  6. | 2002    2    400     .1       50 |
     +----------------------------------+

[1] 指的是每个 ID 面板中的第一个观察值,在本例中是年份的最小值,因为数据集是按 ID 和年份排序的。