Переменная базового года взаимодействия Stata

#variables #stata #interaction

#переменные #stata #взаимодействие

Вопрос:

Мои данные представлены в следующем формате:

 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
 

Я хотел бы создать переменную взаимодействия между var1 и var2 где var1 всегда принимает значение первого года, в котором у меня есть данные (в данном случае year 2000 в качестве базового года).

год 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

Как я могу этого добиться?

Ответ №1:

Для меня работает следующее:

 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] относится к первому наблюдению в каждой панели идентификаторов, которое в данном случае является наименьшим значением года, поскольку набор данных отсортирован по идентификатору и году.