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 для перетворення змінної day із символьної змінної на нову числову змінну під назвою numeric_day .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *