I am attempting to use the rangejoin command to match on three different variables, two of which I want to match on within a certain range. I want to match on age at diagnosis (within 3 years), presumed diagnosis (within 1 year) and sex (exact). Here is my code. I am getting an error message about an extra argument after key variable age_at_diag.
preserve
keep if case== 1
rename * *_CASE
rename age_at_diag_CASE age_at_diag
rename male_sex_CASE male_sex
rename presumed_mm_diag_date_CASE presumed_mm_diag_date
tempfile CASE
save "D:\shared\CASE.dta"
restore
keep if case == 0
rename * *_CONTROL
rename age_at_diag_CONTROL age_at_diag
rename male_sex_CONTROL male_sex
rename presumed_mm_diag_date_CONTROL presumed_mm_diag_date
rangejoin presumed_mm_diag_date -1 1 age_at_diag -3 3 using "D:\shared\CASE.dta", by(male_sex)
If anyone has any advice I would sincerely appreciate it. Thank you!
preserve
keep if case== 1
rename * *_CASE
rename age_at_diag_CASE age_at_diag
rename male_sex_CASE male_sex
rename presumed_mm_diag_date_CASE presumed_mm_diag_date
tempfile CASE
save "D:\shared\CASE.dta"
restore
keep if case == 0
rename * *_CONTROL
rename age_at_diag_CONTROL age_at_diag
rename male_sex_CONTROL male_sex
rename presumed_mm_diag_date_CONTROL presumed_mm_diag_date
rangejoin presumed_mm_diag_date -1 1 age_at_diag -3 3 using "D:\shared\CASE.dta", by(male_sex)
If anyone has any advice I would sincerely appreciate it. Thank you!
Comment