Як використовувати функцію compress у sas (з прикладами)
Ви можете використовувати функцію СТИСНУТИ в SAS, щоб видалити певні символи з рядка.
Ця функція використовує такий базовий синтаксис:
СТИСНУТИ(Рядок, символи для видалення)
золото:
- Рядок : Рядок для аналізу
- символи для видалення : один або кілька конкретних символів, які потрібно видалити з рядка
Ось чотири найпоширеніші способи використання цієї функції:
Спосіб 1: видаліть із рядка всі пробіли
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
Спосіб 2. Видалення окремих символів із рядка
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
Спосіб 3. Видаліть із рядка всі символи алфавіту
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
Спосіб 4: Видаліть усі числові значення з рядка
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
У наведених нижче прикладах показано, як використовувати кожен метод із таким набором даних у SAS:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Приклад 1: видалення всіх пробілів із рядка
Наступний код показує, як видалити всі пробіли з кожного рядка в стовпці імені :
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;
Зауважте, що всі пробіли видалено з кожного рядка в новому стовпці під назвою tablet_name .
Приклад 2: Видалення певних символів із рядка
Наступний код показує, як видалити всі знаки питання та оклику з кожного рядка в стовпці імені :
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;
Зауважте, що всі знаки питання й оклику видалено з кожного рядка в новому стовпці під назвою tablet_name .
Приклад 3. Видалення всіх букв алфавіту з рядка
Наступний код показує, як видалити всі букви з кожного рядка в стовпці імені :
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;
Зауважте, що всі букви видалено з кожного рядка в новому стовпці під назвою tablet_name .
Приклад 4: видалення всіх числових значень із рядка
Наступний код показує, як видалити всі числові значення з кожного рядка в стовпці імені :
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;
Зауважте, що всі числові значення було видалено з кожного рядка в новому стовпці під назвою tablet_name .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як використовувати функцію SUBSTR у SAS
Як використовувати функцію FIND у SAS
Як використовувати функцію COALESCE у SAS