data s ;
input id $ result $ ;
cards ;
111 482
112 854
113 neg
114 pos
115 45.5
;
extract numeric values and character values from result variable?
data s ;
input id $ result $ ;
cards ;
111 482
112 854
113 neg
114 pos
;
data want;
set s;
n=compress(result,' ','kd');
c=compress(result,' ','d');
run;
Show what the output should look like. Do you want a numeric column with those which are numeric converted? Would you like separate datasets, etc? For columns:
data want;
set s;
if not anyalpha(result) then num_var=input(result,best.);
run;
Hi,
Check below code
data want;
set s;
if input(result, best.) then numeric = result;
else char = result;
run;
You have warnings in that code though about converting text to numeric, actually I fell into the same trap as I forgot that ifn() will do the conversion regardless of the if part. I updated my code to avoid this.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.