Как использовать функцию 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

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

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