Як використовувати функцію 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

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

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