Hello
I have character strings which including percentage and numbers. how do I convert them into numeric data?
my data is
var
45.5%
34
23.64%
23
44.56%
798
I use the code:
data a;
set a;
if var=:"%" then var1=input(var,percent8.);
else var1=input(var,best8.);
run;
But it does not work.
Thanks a lot!
I tried as below and it works
data have;
input var$10.;;
cards;
45.5%
34
23.64%
23
44.56%
798
;
data want;
set have;
if index(var,'%') then new=input(var,percent.);
else new=input(var,best.);
run;
I tried as below and it works
data have;
input var$10.;;
cards;
45.5%
34
23.64%
23
44.56%
798
;
data want;
set have;
if index(var,'%') then new=input(var,percent.);
else new=input(var,best.);
run;
The =: only checks if the variables start with that character string, not contains. ie does it start with a percentage sign. To check if hte variable contains a % sign you would use FIND or INDEX.
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.