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


Вы можете использовать функцию ИНДЕКС в SAS, чтобы вернуть позицию первого вхождения строки в другую строку.

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

ИНДЕКС(источник, экстракт)

Золото:

  • источник : канал для анализа
  • Extract : строка символов для поиска в источнике.

В следующем примере показано, как использовать эту функцию на практике.

Пример: использование функции INDEX в 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; 

Мы можем использовать функцию ИНДЕКС , чтобы найти позицию первого вхождения строки «Смит» в каждой строке:

 /*find position of first occurrence of 'Smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' Smith ');
run ;

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

Новый столбец с именем first_smith отображает позицию первого вхождения строки «Смит» в столбце имени .

Если «Смит» вообще не найден, функция ИНДЕКС просто возвращает значение 0 .

Важно отметить, что функция ИНДЕКС чувствительна к регистру, поэтому, если вместо этого вы ищете «кузнец», функция ИНДЕКС вернет 0 для каждой строки:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' smith ');
run ;

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

Чтобы выполнить поиск без учета регистра, вы можете использовать функцию lowcase() , чтобы сначала преобразовать каждую строку в нижний регистр, а затем выполнить поиск по слову «smith» следующим образом:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index ( lowcase (name), ' smith ');
run ;

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

Сначала преобразуя каждую строку в нижний регистр, мы можем использовать функцию ИНДЕКС для выполнения поиска без учета регистра.

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

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

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

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

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