I'm trying to answer a question here: https://stackoverflow.com/questions/...rvations-stata
The question is how to tag observations where there is more than 1 ID within each firm/year combination.
I gave it a try:
Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte(Id Firm_id) int Year
1 50 2010
1 50 2011
2 50 2010
2 50 2011
3 22 2010
3 22 2011
4 22 2010
4 20 2011
end
local condition "Id != Id[_n-1] & !missing(Id) & _n > 1"
bysort Firm_id Year (Id): gen cond = `condition'
bysort Firm_id Year: egen tokeep = max(cond)
bysort Firm_id Year (Id): egen tokeep2 = max(`condition')
list
+-----------------------------------------------+
| Id Firm_id Year cond tokeep tokeep2 |
|-----------------------------------------------|
1. | 4 20 2011 0 0 0 |
2. | 3 22 2010 0 1 1 |
3. | 4 22 2010 1 1 1 |
4. | 3 22 2011 0 0 1 |
5. | 1 50 2010 0 1 1 |
|-----------------------------------------------|
6. | 2 50 2010 1 1 1 |
7. | 1 50 2011 0 1 1 |
8. | 2 50 2011 1 1 1 |
+-----------------------------------------------+
0 Response to Conflicting results with egen, max()
Post a Comment