Як видалити початкові нулі в sas (з прикладами)
Найпростіший спосіб видалити початкові нулі в символьній змінній у SAS — це використати функцію INPUT для перетворення змінної на числову змінну, яка автоматично видаляє початкові нулі.
Ця функція використовує такий базовий синтаксис:
data new_data;
set original_data;
no_zeros = input(some_column, comma9. );
run ;
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: видаліть початкові нулі в SAS
Припустімо, що ми маємо такий набір даних у SAS, який показує загальні продажі, здійснені різними роздрібними магазинами:
/*create dataset*/
data original_data;
inputstore $sales$;
datalines ;
A 055
B145
C 199
D 0000443
E 0093
F 00004302
G 38
H 0055
;
run ;
/*view dataset*/
proc print data = original_data;
Ми можемо використати наступний код, щоб видалити всі початкові нулі зі значень стовпця продажів :
/*remove leading zeros in sales column*/
data new_data;
set original_data;
no_zeros = input (sales, order9. );
run ;
/*view results*/
proc print data = new_data;
Зверніть увагу, що всі початкові нулі були видалені зі значень у стовпці no_zeros .
Зауважте, що новий стовпець no_zeros є числовим.
Якщо ви хочете зберегти його як стовпець символів, ви можете обернути функцію PUT навколо функції INPUT таким чином:
/*remove leading zeros in sales column*/
data new_data;
set original_data;
no_zeros = put ( input (sales, order9. ), 8. );
run ;
/*view results*/
proc print data = new_data;
Якщо ми використаємо use proc contents для відображення типу даних кожної змінної в наборі даних, ми побачимо, що no_zeros є символьною змінною:
/*view data type of each variable in new dataset*/
proc contents data =new_data;
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як нормалізувати дані в SAS
Як визначити викиди в SAS
Як використовувати зведення процедур у SAS
Як створити частотні таблиці в SAS