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
我想在 var1
和 var2
之间创建一个交互变量,其中 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 和年份排序的。
我的数据格式如下:
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年为基准年)。
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 和年份排序的。