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