过滤掉面板数据中开始日期错误的观察结果
Filtering out observations with wrong start date in panel data
我正在 Stata 中处理面板数据。
这是企业每年被质疑的数据。我只想分析特定年份(2010)首次被质疑的公司的数据。我想去掉所有非2010年首次面试的公司的条目。数据如下形式:
idnum year
1 2010
1 2011
1 2012
2 2009
2 2010
2 2011
3 2011
3 2012
所以公司可能之前已经面试过,在这种情况下我想放弃他们,或者第一次面试过后,在这种情况下我也想放弃他们。所以在图片的例子中我只想保留第一家公司的条目(idnum = 1)。
我试过以下方法:
by idnum, sort: drop if year<2010
但是,这只会删除 2010 年之前的条目,而不是所有在 2010 年之前被质疑的具有该 ID 的条目。
有没有人有什么想法?
编辑:
我觉得要走的路是获取 2010 年未接受采访的公司的所有 ID,然后删除它们。然后从 2009 年或之前获取所有公司并删除它们。但我不知道在 Stata 中如何实现。
以下适用于您的玩具示例:
clear
input idnum year
1 2010
1 2011
1 2012
2 2009
2 2010
2 2011
2 2012
3 2011
3 2012
end
bysort idnum (year): generate tag = year[1] != 2010
list, sepby(idnum)
+--------------------+
| idnum year tag |
|--------------------|
1. | 1 2010 0 |
2. | 1 2011 0 |
3. | 1 2012 0 |
|--------------------|
4. | 2 2009 1 |
5. | 2 2010 1 |
6. | 2 2011 1 |
7. | 2 2012 1 |
|--------------------|
8. | 3 2011 1 |
9. | 3 2012 1 |
+--------------------+
drop if tag
list
+--------------------+
| idnum year tag |
|--------------------|
1. | 1 2010 0 |
2. | 1 2011 0 |
3. | 1 2012 0 |
+--------------------+
或一行:
bysort idnum (year): drop if year[1] != 2010
我正在 Stata 中处理面板数据。
这是企业每年被质疑的数据。我只想分析特定年份(2010)首次被质疑的公司的数据。我想去掉所有非2010年首次面试的公司的条目。数据如下形式:
idnum year
1 2010
1 2011
1 2012
2 2009
2 2010
2 2011
3 2011
3 2012
所以公司可能之前已经面试过,在这种情况下我想放弃他们,或者第一次面试过后,在这种情况下我也想放弃他们。所以在图片的例子中我只想保留第一家公司的条目(idnum = 1)。
我试过以下方法:
by idnum, sort: drop if year<2010
但是,这只会删除 2010 年之前的条目,而不是所有在 2010 年之前被质疑的具有该 ID 的条目。
有没有人有什么想法?
编辑:
我觉得要走的路是获取 2010 年未接受采访的公司的所有 ID,然后删除它们。然后从 2009 年或之前获取所有公司并删除它们。但我不知道在 Stata 中如何实现。
以下适用于您的玩具示例:
clear
input idnum year
1 2010
1 2011
1 2012
2 2009
2 2010
2 2011
2 2012
3 2011
3 2012
end
bysort idnum (year): generate tag = year[1] != 2010
list, sepby(idnum)
+--------------------+
| idnum year tag |
|--------------------|
1. | 1 2010 0 |
2. | 1 2011 0 |
3. | 1 2012 0 |
|--------------------|
4. | 2 2009 1 |
5. | 2 2010 1 |
6. | 2 2011 1 |
7. | 2 2012 1 |
|--------------------|
8. | 3 2011 1 |
9. | 3 2012 1 |
+--------------------+
drop if tag
list
+--------------------+
| idnum year tag |
|--------------------|
1. | 1 2010 0 |
2. | 1 2011 0 |
3. | 1 2012 0 |
+--------------------+
或一行:
bysort idnum (year): drop if year[1] != 2010