Working with two different event datasets: event1 and event2. If the dates overlapped I would like the dummy variable (Var1) to be merged. Minimum working example below using rangejoin.
Code:
ssc install dataex ssc install rangejoin ssc install rangestat clear input byte id int(StartYear1 EndYear1 Var1) 1 1950 1960 1 2 1950 1960 1 3 1950 1960 1 4 1950 1960 1 5 1950 1960 1 end save "events1.dta", replace clear input byte id int(StartYear2 EndYear2) 1 1955 1965 2 1945 1955 3 1951 1959 4 1949 1961 5 1940 1950 end save "events2.dta", replace rangejoin StartYear1 StartYear2 EndYear2 using "events1.dta", by(id) drop StartYear1 EndYear1 rangejoin EndYear1 StartYear2 EndYear2 using "events1.dta", by(id) drop StartYear1 EndYear1 gen Var = (Var1==1 | Var1_U==1) drop Var1 Var1_U . list, sepby(id) +--------------------------------+ | id StartY~2 EndYear2 Var | |--------------------------------| 1. | 1 1955 1965 1 | |--------------------------------| 2. | 2 1945 1955 1 | |--------------------------------| 3. | 3 1951 1959 0 | |--------------------------------| 4. | 4 1949 1961 1 | |--------------------------------| 5. | 5 1940 1950 1 | +--------------------------------+
Code:
. list, sepby(id) +--------------------------------+ | id StartY~2 EndYear2 Var | |--------------------------------| 1. | 1 1955 1965 1 | |--------------------------------| 2. | 2 1945 1955 1 | |--------------------------------| 3. | 3 1951 1959 1 | |--------------------------------| 4. | 4 1949 1961 1 | |--------------------------------| 5. | 5 1940 1950 1 | +--------------------------------+
0 Response to Rangejoin Overlapping Years
Post a Comment