DATA Step, Macro, Functions and more

Data segregation based on condition

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 11
Accepted Solution

Data segregation based on condition

I want to segregate the data into 5 datasets in following way. dataset1- All the data where type variable is numeric dataset2 - All the data where type variable is capital letter dataset3- All the data where type variable is small letter dataset4- All the data where type variable is both capital and small but starts with capital letter. dataset5- All the data where type variable is both capital and small but starts with small letter.

Accepted Solutions
Solution
2 weeks ago
PROC Star
Posts: 1,328

Re: Data segregation based on condition

data test2;
input type$ desp$;
datalines;
Dj dfg
jD dfg
DD dfg
dd dfg
J jam
v var
g gas
A apple
C cat
h hat
Aj rrr
Aa fff
1 222
2 333
;

data set1 set2 set3 set4 set5;
set test2;
if anydigit(type)>0 and anyalpha(type)=0 then output set1 ;
else if anyalpha(type)>0 and anydigit(type)=0 and  anylower(type)=0 then output set2;
else if anyalpha(type)>0 and anydigit(type)=0 and  anyupper(type)=0 then output set3;
if anyupper(first(type))>0 and anylower(type)>0 then output set4;
else if anylower(first(type))>0 and anyupper(type)>0 then output set5;
run;

View solution in original post


All Replies
Solution
2 weeks ago
PROC Star
Posts: 1,328

Re: Data segregation based on condition

data test2;
input type$ desp$;
datalines;
Dj dfg
jD dfg
DD dfg
dd dfg
J jam
v var
g gas
A apple
C cat
h hat
Aj rrr
Aa fff
1 222
2 333
;

data set1 set2 set3 set4 set5;
set test2;
if anydigit(type)>0 and anyalpha(type)=0 then output set1 ;
else if anyalpha(type)>0 and anydigit(type)=0 and  anylower(type)=0 then output set2;
else if anyalpha(type)>0 and anydigit(type)=0 and  anyupper(type)=0 then output set3;
if anyupper(first(type))>0 and anylower(type)>0 then output set4;
else if anylower(first(type))>0 and anyupper(type)>0 then output set5;
run;
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 83 views
  • 1 like
  • 2 in conversation