Sas: разница между put и input


Вы можете использовать функции PUT и INPUT в SAS для преобразования переменных в разные типы данных.

Вот разница между двумя функциями:

Функция PUT принимает на вход символьные или числовые переменные и всегда выводит символьные переменные .

Функция INPUT принимает на вход только символьные переменные и может выводить символьные или числовые переменные .

Следующие примеры показывают два распространенных способа использования функций PUT и INPUT на практике.

Пример 1. Использование PUT для преобразования числовой переменной в символьную переменную.

Допустим, у нас есть следующий набор данных в 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;

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

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

 /*create new dataset where 'day' is character*/
data new_data;
    set original_data;
    char_day = put (day, 8.);
    drop day;
run ;

/*view new dataset*/
proc print data =new_data; 

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

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

Мы успешно использовали функцию PUT для преобразования переменной дня из числовой в новую символьную переменную с именем char_day .

Пример 2. Использование INPUT для преобразования символьной переменной в числовую переменную.

Допустим, у нас есть следующий набор данных в 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;

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

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

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

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

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

Мы успешно использовали функцию INPUT для преобразования переменной дня из символьной переменной в новую числовую переменную с именем numeric_day .

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

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

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

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

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