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

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

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