Hello - I've created a case control matched population with clinical trial data. Even if you are not familiar with clinical trials, I think the SAS coding should be relatively simple - please help if you can. 🙂 I have been able to undertake all steps except one.
I have are 602 unique cases. I have a dataset that includes possible matching controls to these cases (68K options as many controls match each possible case). I would like to select one unique control for each of the possible cases. My current code, below, returns a match for each case, but it sometimes gives me a control that has already been selected for another case. If a control has already been selected for a case, I want SAS to "move on" to the next control that is an option and not include any duplicated controls in my final dataset. So in sum, I want 602 cases and 602 controls.
Partial dataset attached.
Thank you for any guidance!
Anissa
data random; set controls_usubjid; call streaminit(12345); random= rand('uniform'); run;
proc sort data=random ; by cases_usubjid random; run;
data controls_usubjid2 not_enough; set random; by cases_usubjid ; retain num; if first.cases_usubjid then num=1; if num le 1 then do; output controls_usubjid2; num=num+1; end; if last.cases_usubjid then do; if num le 2 then output not_enough; end; run;
... View more