Как использовать функцию indexc в sas
Вы можете использовать функцию INDEXC в SAS, чтобы вернуть позицию первого вхождения отдельного символа в строке.
Эта функция использует следующий базовый синтаксис:
ИНДЕКСC(источник, экстракт)
Золото:
- источник : канал для анализа
- Extract : строка символов для поиска в источнике.
В следующем примере показано, как использовать эту функцию на практике.
Пример: использование функции INDEXC в 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;
Мы можем использовать функцию INDEXC , чтобы найти позицию первого вхождения символов x , y или z :
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = indexc (name, 'xyz');
run ;
/*view results*/
proc print data = new_data;
Новый столбец с именем first_xyz отображает позицию первого вхождения символов x , y или z в столбце имени .
Если ни один из этих трех символов отсутствует в столбце имени , функция INDEXC просто возвращает значение 0 .
Например, из результата мы видим:
Позиция первого вхождения x, y или z в первой строке — это позиция 4 . Мы видим, что символ в позиции 4 в первой строке — это y .
Позиция первого вхождения x, y или z во второй строке равна 0 , поскольку ни одна из этих трех букв не существует во втором имени строки.
И так далее.
Разница между функциями INDEX и INDEXC
Функция ИНДЕКС в SAS возвращает позицию первого вхождения определенной подстроки в другую строку.
Следующий пример иллюстрирует разницу между функциями INDEX и INDEXC :
/*create new dataset*/
data new_data;
set original_data;
index_smith = index (name, 'Smith');
indexc_smith = indexc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
Столбец index_smith отображает позицию первого вхождения подстроки «Смит» в столбце имени .
Столбец indexc_smith отображает позицию первого вхождения букв s , m , i , t или h в столбце имени .
Например, из результата мы видим:
Подстрока «Смит» никогда не появляется в имени, поэтому index_smith возвращает значение 0 .
Буква i появляется на 7-й позиции имени, поэтому indexc_smith возвращает значение 7 .
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в SAS:
Как использовать функцию SUBSTR в SAS
Как использовать функцию COMPRESS в SAS
Как использовать функцию НАЙТИ в SAS
Как использовать функцию COALESCE в SAS