Hi,
I want to convert a already read in variable into a character - the opposite of e.g new_breed=breed*1
I am thankful for any help 🙂
You cannot convert a numeric variable to character.
You can make a new character variable from a numeric variable.
char_var = put ( num_var, 5.);
or use whatever format works in your case
Thanks for your help.
What is the 5 for?
Sorry, I'm new to SAS... 🙂
Hi:
The 5. is a FORMAT -- it is the format that SAS uses to make the conversion. So, for example, if you have this zip=123 and you want to make charzip = 00123 as a character variable then you would use the z5. format, like this:
charzip = put(zip,z5.);
Or, if you have this: area=303 and you want this: char_area (303), then you would do:
char_area=catt('(',put(area,3.),')'); (concatenate the ( and ) with the character string 303 after the PUT function.
We teach about the PUT and INPUT functions and variable conversions in the Programming 2 class.
cynthia
new_breed=breed*1 triggers auto-converting "breed" to numeric so that the multiplication is possible. If you are sure, that an char-variable can be converted to numeric, use the input-function. That way you don't get tons of notes in the log and with the proper format you can convert non-english numbers to numbers.
Example:
data demo;
a = '1.016,052';
b = input(a, commax15.);
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.