SAS: How to Convert Character Variable to Numeric


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: How to Convert Numeric Variable to Character in SAS

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.

We can use proc contents once again to check the data type of each variable in the new 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.

Additional Resources

The following tutorials explain how to perform other common tasks in SAS:

How to Rename Variables in SAS
How to Remove Duplicates in SAS
How to Normalize Data in SAS

Leave a Reply

Your email address will not be published.