我列出了不同时期的不同公司。 在研究期间,公司改变了行业。 我希望在我的数据中保留每家公司所有年份的最新行业价值。 有人可以帮我在Stata做这件事吗? 例如:
当前数据
Time Company Industry
---------------------------
1 A Agriculture
2 A Agriculture
3 A Mining
1 B Service sector
2 B Service sector
3 B Agriculture
4 B Agriculture
5 B Other
所需数据
Time Company Industry
---------------------------
1 A Agriculture
2 A Agriculture
3 A Agriculture
1 B Other
2 B Other
3 B Other
4 B Other
5 B Other
答案 0 :(得分:0)
您应该使用
安装dataex
ssc install dataex
获取一个命令,为回答Stata问题的人提供数据示例。否则像你这样的例子需要手术才能使用。
这里的主要设备使用排序,by:
和下标来选择每组中的最后一个观察。在by:
下,下标_N
始终与最后一次观察相关联。
clear
input Time str1 Company str14 Industry
1 A "Agriculture"
2 A "Agriculture"
3 A "Mining"
1 B "Service sector"
2 B "Service sector"
3 B "Agriculture"
4 B "Agriculture"
5 B "Other"
end
bysort Company (Time): gen Final = Industry[_N]
list, sepby(Company)
+-----------------------------------------+
| Time Company Industry Final |
|-----------------------------------------|
1. | 1 A Agriculture Mining |
2. | 2 A Agriculture Mining |
3. | 3 A Mining Mining |
|-----------------------------------------|
4. | 1 B Service sector Other |
5. | 2 B Service sector Other |
6. | 3 B Agriculture Other |
7. | 4 B Agriculture Other |
8. | 5 B Other Other |
+-----------------------------------------+
请参阅by:
的帮助以获取介绍;然后是手册条目[D] by
;然后它的参考。
我创建了一个新变量,这通常是数据管理的一个更好的主意。