Как использовать функцию compress в sas (с примерами)


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

Эта функция использует следующий базовый синтаксис:

COMPRESS(строка, символы для удаления)

Золото:

  • String : строка для анализа.
  • символы для удаления : один или несколько определенных символов, которые нужно удалить из строки.

Вот четыре наиболее распространенных способа использования этой функции:

Способ 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;

Обратите внимание, что все пробелы были удалены из каждой строки в новом столбце с именем table_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;

Обратите внимание, что все вопросительные и восклицательные знаки были удалены из каждой строки в новом столбце с именем table_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;

Обратите внимание, что все буквенные символы были удалены из каждой строки в новом столбце table_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;

Обратите внимание, что все числовые значения были удалены из каждой строки в новом столбце с именем table_name .

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

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

Как использовать функцию SUBSTR в SAS
Как использовать функцию НАЙТИ в SAS
Как использовать функцию COALESCE в SAS

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

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