Sas: как преобразовать символьную переменную в числовую


Вы можете использовать функцию input() в SAS для преобразования символьной переменной в числовую переменную.

Эта функция использует следующий базовый синтаксис:

 numeric_var = input (character_var, comma9. );

В следующем примере показано, как использовать эту функцию на практике.

Связанный: Как преобразовать числовую переменную в символьную в SAS

Пример. Преобразование символьной переменной в числовую в SAS

Допустим, у нас есть следующий набор данных в SAS, который показывает общий объем продаж магазина за 10 дней подряд:

 /*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;

Мы можем использовать содержимое процедуры для отображения типа данных каждой переменной в наборе данных:

 /*display data type for each variable*/
proc contents data =original_data;

Мы видим, что день — это символьная переменная, а продажи — числовая переменная.

Мы можем использовать следующий код для создания нового набора данных, в котором мы преобразуем переменную дня из символьной в числовую:

 /*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; 

Примечание . Мы использовали функцию drop , чтобы удалить исходную переменную дня из набора данных.

Мы снова можем использовать содержимое proc для проверки типа данных каждой переменной в новом наборе данных:

 /*display data type for each variable in new dataset*/
proc contents data =new_data; 

Мы видим, что новая созданная нами переменная numeric_day является числовой переменной.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как переименовать переменные в SAS
Как удалить дубликаты в SAS
Как нормализовать данные в SAS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *