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