Table of Contents
In SAS, a character variable can be converted to a numeric variable by using the INPUT function. This function takes the character variable as an argument and assigns it a numeric value based on the informat specified. For example, if the informat is 8.2, then the character variable will be assigned a two-decimal numeric value. Additionally, the PUT function can be used to reverse the conversion from numeric to character.
You can use the input() function in SAS to convert a character variable to a numeric variable.
This function uses the following basic syntax:
numeric_var = input(character_var, comma9.);
The following example shows how to use this function in practice.
Related:
Example: Convert Character Variable to Numeric in SAS
Suppose we have the following dataset in SAS that shows the total sales made by some store during 10 consecutive days:
/*create dataset*/ data original_data; input day $ sales; datalines; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run; /*view dataset*/ proc print data=original_data;
We can use proc contents to view the data type of each variable in the dataset:
/*display data type for each variable*/
proc contents data=original_data;
We can see that day is a character variable and sales is a numeric variable.
We can use the following code to create a new dataset in which we convert the day variable from character to numeric:
/*create new dataset where 'day' is numeric*/
data new_data;
set original_data;
numeric_day = input(day, comma9.);
drop day;
run;
/*view new dataset*/
proc print data=new_data;
Note: We used the drop function to drop the original day variable from the dataset.
/*display data type for each variable in new dataset*/
proc contents data=new_data;
We can see that the new variable we created, numeric_day, is a numeric variable.
The following tutorials explain how to perform other common tasks in SAS: