Data Manipulation Coding Project 2 (solution) - Case Control Study Analysis

[Note: you are recommended to copy and paste the code below onto your SAS Studio for better viewing]

Model Answer

** Task II **;
Data Case Control (rename=(mid=cmid gender=Cgender income=cincome watersource=cwatersource termdate=ctermdate));
Set BCStudy;

** Output to Case **;
if BCancer = 1 then output Case;

** Output to Control **;
else if BCancer = 0 then output Control;
Run;

** Task III **;

** Add arbitrary variable i for merging purpose **;
Proc Sort Data=Case;
By Age;
Run;

Data Case2;
Set Case;
By Age;
if first.age then i = 0;
i+1;
Run;

Data Control2;
Set Control;
rand = rand('uniform');
Run;

Proc Sort Data=Control2;
By age rand;
Run;

Data Control3;
Set Control2;
By age rand;
if first.age then i=0;
i+1;
Run;

** Merge Case and Control **;
Proc Sort Data=Case2;
By age i;
Run;

Proc Sort Data=Control3;
By age i;
Run;

Data Combine;
Merge Case2 (in=a) Control3 (in=b);
By age i;
if a;
drop i rand;
Run;

Proc Sort Data=Combine;
By mid;
Run;