Como usar a função find no sas (com exemplos)


Você pode usar a função FIND no SAS para encontrar a posição da primeira ocorrência de uma substring em uma string.

Aqui estão as duas maneiras mais comuns de usar esse recurso:

Método 1: Encontre a posição da primeira ocorrência de uma string

 data new_data;
set original_data;
first_occurrence = find (variable_name, " string ");
run;

Método 2: Encontre a posição da primeira ocorrência de uma string (ignorando maiúsculas e minúsculas)

 data new_data;
    set original_data;
    first_occurrence = find (variable_name, " string ", " i ");
run ;

O argumento “i” diz ao SAS para ignorar maiúsculas e minúsculas ao procurar pela substring.

Os exemplos a seguir mostram como usar cada método com o seguinte conjunto de dados no SAS:

 /*create dataset*/
data original_data;
    input sentence $1-25;
    datalines ;
The fox ran fast
That is a quick FOX
This fox is a slow fox
The zebra is cool
;
run ;

/*view dataset*/
proc print data = original_data; 

Exemplo 1: Encontre a posição da primeira ocorrência de uma string

O código a seguir mostra como encontrar a posição da primeira ocorrência de “fox” em cada string:

 data new_data;
    set original_data;
    first_fox = find (phrase, " fox ");
run ; 

Veja como interpretar o resultado:

  • A raposa correu rápido (a primeira ocorrência está na posição 5 )
  • É uma FOX rápida (a string minúscula “fox” nunca aparece)
  • Esta raposa é uma raposa lenta (a primeira ocorrência está na posição 6 )
  • Zebra é legal (o barbante “raposa” nunca aparece)

Exemplo 2: Encontre a posição da primeira ocorrência de uma string (ignorando maiúsculas e minúsculas)

O código a seguir mostra como encontrar a posição da primeira ocorrência de “fox” que não diferencia maiúsculas de minúsculas em cada string:

 data new_data;
    set original_data;
    first_fox = find (phrase, " fox ", " i ");
run ; 

Veja como interpretar o resultado:

  • A raposa correu rápido (a primeira ocorrência está na posição 5 )
  • É um FOX rápido (a primeira ocorrência de “fox” está na posição 17 )
  • Esta raposa é uma raposa lenta (a primeira ocorrência está na posição 6 )
  • Zebra é legal (o barbante “raposa” nunca aparece)

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como normalizar dados no SAS
Como substituir caracteres em uma string no SAS
Como substituir valores ausentes por zero no SAS
Como remover duplicatas no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *