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


Вы можете использовать функцию SCAN в SAS для извлечения n-го слова из строки.

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

СКАН (строка, номер)

Золото:

  • строка : строка для анализа.
  • count : n-е слово для извлечения.

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

Способ 1: извлечь n-ное слово из строки

 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;

Способ 2: извлечь последнее слово из строки

 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;

Способ 3: извлечь несколько слов из строки

 data new_data;
    set original_data;
    first_word = scan (string_variable, 1 );
    second_word = scan (string_variable, 2 );
    third_word = scan (string_variable, 3 );
run ;

В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:

 /*create dataset*/
data original_data;
    input name $20. dirty;
    datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;

/*view dataset*/
proc print data = original_data; 

Пример 1. Извлечение n-го слова из строки

Следующий код показывает, как извлечь второе слово из каждой строки в столбце имени :

 /*extract second word in each row of name column*/
data new_data;
    set original_data;
    second_word = scan (name, 2 );
run ;

/*view results*/
proc print data =new_data;

Функция СКАНИРОВАНИЯ в SAS

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

Пример 2. Извлечение последнего слова из строки

Следующий код показывает, как использовать значение -1 в функции сканирования для извлечения последнего слова каждой строки в столбце имени :

 /*extract last word in each row of name column*/
data new_data;
    set original_data;
    last_word = scan (name, -1 );
run ;

/*view results*/
proc print data =new_data;

Обратите внимание, что новый столбец с именем Last_word содержит последнее слово каждой строки в столбце имени .

Пример 3. Извлечение нескольких слов из строки

Следующий код показывает, как использовать функцию сканирования для извлечения каждого слова из каждой строки в столбце имени :

 /*extract each word in each row of name column*/
data new_data;
    set original_data;
    first_word = scan (name, 1 );
    second_word = scan (name, 2 );
    third_word = scan (name, 3 );
run ;

/*view results*/
proc print data =new_data;

Обратите внимание, что были созданы три новых столбца, содержащие первое, второе и третье слово каждой строки в столбце имени .

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

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

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

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

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