BookmarkSubscribeRSS Feed
Sean_OConnor
Obsidian | Level 7

Folks,

 

I notice in my dataset that there appears to be a few outliers which in turn can throw out headline figures. They appear to be related to keying errors. 

 

What I would like to do is include in my datastep an if statment that will mark an outlier with a Y if it 3 times higher than the average level of turnover in that sector. 

 

It would be something simple like this;

 

data i;
set m;
if NET_OPERATING_INCOME_1*(3)>mean_operating_income then outlier='Y';run; 

However, what this does is actually just multiply the variable net_operating_income *3 whereas I just want SAS to mark the observation with a Y anytime a value in net_operating_income_1 is 3 times larger then mean_operating_income.

 

Any input would be most welcome.

 

KInd regards,

 

Sean 

1 REPLY 1
RW9
Diamond | Level 26 RW9
Diamond | Level 26
data i;
  set m;
  outlier=ifc(net_operating_income_1 > (mean_operating_income * 3),'Y','N');
run;

You were nearly there - note I use the ifc function rather than if construct for brevity. 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1027 views
  • 0 likes
  • 2 in conversation