- Back to Home »
- Combining , Learning , SAS , SAS Dataset , Subsetting »
- Learning SAS: Subsetting & Combining SAS Data sets
Posted by : Netbloggy
Saturday, September 19, 2015
As we've learnt how to process our input data with conditions and loops, it's also equally important for us to process our SAS datasets - more prominent of which are Subsetting & Combining SAS Data sets.
Problem:
Using the SAS data set Blood, create two temporary SAS data sets by selecting all
subjects with cholesterol levels (Chol) below 100. Do this using a single DATA step.
Input:
libname A15001 '/folders/myfolders/iSAS/Assignment'; data A15001.A01_Blood; infile '/folders/myfolders/iSAS/blood.txt' truncover; length Gender $ 6 BloodType $ 2 AgeGroup $ 5; input Subject Gender BloodType AgeGroup WBC RBC Chol; label Gender = "Gender" BloodType = "Blood Type" AgeGroup = "Age Group" Chol = "Cholesterol"; run;
Solution:
data A15001.A01_LowCholMale A15001.A01_LowCholFemale; set A15001.A01_Blood; where Chol lt 100 and not missing(Chol); *only entries of Blood with low chol are processed; if Gender = 'Female' then output A15001.A01_LowCholMale; else if Gender = 'Male' then output A15001.A01_LowCholFemale; /* else if because it's not mutually exclusive */ run; title 'List of Low Cholestrol Male'; proc print data=A15001.A01_LowCholMale noobs;run; title; title 'List of Low Cholestrol Female'; proc print data=A15001.A01_LowCholFemale noobs;run; title;
Output:
Learning:
- Using WHERE to subset SAS Datasets
- Creating multiple SAS Datasets in a single DATA step
- Controlling the implicit OUTPUT to write in specific dataset based on specific conditions