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


Você pode usar a função INDEX no SAS para retornar a posição da primeira ocorrência de uma string em outra string.

Esta função usa a seguinte sintaxe básica:

ÍNDICE(fonte, extrato)

Ouro:

  • fonte : O canal a ser analisado
  • extract : a sequência de caracteres a ser pesquisada na fonte

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: usando a função INDEX no SAS

Digamos que temos o seguinte conjunto de dados no SAS que contém uma coluna de nomes:

 /*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; 

Podemos usar a função INDEX para encontrar a posição da primeira ocorrência da string “Smith” em cada linha:

 /*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;

A nova coluna chamada first_smith exibe a posição da primeira ocorrência da string ‘Smith’ na coluna de nome .

Se ‘Smith’ não for encontrado, a função INDEX simplesmente retorna um valor de 0 .

É importante observar que a função INDEX diferencia maiúsculas de minúsculas, portanto, se você pesquisar por “smith”, a função INDEX retornará 0 para cada string:

 /*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; 

Para realizar uma pesquisa sem distinção entre maiúsculas e minúsculas, você pode usar a função lowcase() para primeiro converter cada string em minúsculas e, em seguida, pesquisar por “smith” da seguinte maneira:

 /*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; 

Ao primeiro converter cada string em minúsculas, podemos usar a função INDEX para realizar uma pesquisa sem distinção entre maiúsculas e minúsculas.

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns no SAS:

Como usar a função SUBSTR no SAS
Como usar a função COMPRESS no SAS
Como usar a função FIND no SAS
Como usar a função COALESCE no SAS

Add a Comment

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