Как использовать функцию findc в sas
Вы можете использовать функцию FINDC в SAS, чтобы вернуть позицию первого вхождения отдельного символа в строке.
Эта функция использует следующий базовый синтаксис:
FINDC (строка, список танков)
Золото:
- строка : строка для анализа.
- charlist : список символов для поиска в источнике.
В следующем примере показано, как использовать эту функцию на практике.
Пример: использование функции FINDC в SAS
Допустим, у нас есть следующий набор данных в SAS, содержащий столбец имен:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Мы можем использовать функцию НАЙТИ , чтобы найти позицию первого вхождения символов x , y или z :
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = findc (name, 'xyz');
run ;
/*view results*/
proc print data =new_data;
Новый столбец с именем first_xyz отображает позицию первого вхождения символов x , y или z в столбце имени .
Если ни один из этих трех символов не присутствует в столбце имени , функция FINDC просто возвращает значение 0 .
Например, из результата мы видим:
Позиция первого вхождения x, y или z в первой строке — это позиция 4 . Мы видим, что символ в позиции 4 в первой строке — это y .
Позиция первого вхождения x, y или z во второй строке равна 0 , поскольку ни одна из этих трех букв не существует во втором имени строки.
И так далее.
Разница между функциями НАЙТИ и НАЙТИ
Функция НАЙТИ в SAS возвращает позицию первого вхождения определенной подстроки в другую строку.
Следующий пример иллюстрирует разницу между функциями НАЙТИ и НАЙТИ :
/*create new dataset*/
data new_data;
set original_data;
find_smith = find (name, 'Smith');
findc_smith = findc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
Столбец find_smith отображает позицию первого вхождения подстроки «Смит» в столбце имени .
Столбец findc_smith отображает позицию первого вхождения букв s , m , i , t или h в столбце имени .
Например, из результата мы видим:
Подстрока «Смит» никогда не появляется в имени, поэтому find_smith возвращает значение 0 .
Буква i появляется на 7-й позиции имени, поэтому findc_smith возвращает значение 7 .
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в SAS:
Как использовать функцию НАЙТИ в SAS
Как использовать функцию SUBSTR в SAS
Как использовать функцию COMPRESS в SAS