Як використовувати функцію indexc у sas


Ви можете використовувати функцію INDEXC у SAS, щоб повернути позицію першого входження окремого символу в рядку.

Ця функція використовує такий базовий синтаксис:

INDEXC(джерело, витяг)

золото:

  • джерело : канал для аналізу
  • екстракт : Рядок символів для пошуку в джерелі

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використання функції 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

Функція INDEX у 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 відображає позицію першого входження підрядка «Smith» у стовпці імені .

Стовпець indexc_smith відображає позицію першого входження літер s , m , i , t або h у стовпці імені .

Наприклад, з результату ми можемо побачити:

Підрядок «Сміт» ніколи не з’являється в першому імені, тому index_smith повертає значення 0 .

Буква i з’являється на сьомій позиції імені, тому indexc_smith повертає значення 7 .

І так далі.

Додаткові ресурси

У наступних посібниках пояснюється, як використовувати інші поширені функції в SAS:

Як використовувати функцію SUBSTR у SAS
Як використовувати функцію СТИСНУТИ в SAS
Як використовувати функцію FIND у SAS
Як використовувати функцію COALESCE у SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *