Como usar a função indexc no sas


Você pode usar a função INDEXC no SAS para retornar a posição da primeira ocorrência de um caractere individual em uma string.

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

INDEXC(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 INDEXC 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 INDEXC para encontrar a posição da primeira ocorrência dos caracteres x , y ou 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;

A nova coluna chamada first_xyz exibe a posição da primeira ocorrência dos caracteres x , y ou z na coluna de nome .

Se nenhum desses três caracteres estiver presente na coluna do nome , a função INDEXC simplesmente retornará um valor 0 .

Por exemplo, a partir do resultado podemos ver:

A posição da primeira ocorrência de x, y ou z na primeira linha é a posição 4 . Podemos ver que o caractere na posição 4 da primeira linha é um y .

A posição da primeira ocorrência de x, y ou z na segunda linha é 0 porque nenhuma dessas três letras existe no nome da segunda linha.

E assim por diante.

A diferença entre as funções INDEX e INDEXC

A função INDEX no SAS retorna a posição da primeira ocorrência de uma substring específica em outra string.

O exemplo a seguir ilustra a diferença entre as funções INDEX e 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; 

A coluna index_smith exibe a posição da primeira ocorrência da substring ‘Smith’ na coluna name .

A coluna indexc_smith exibe a posição da primeira ocorrência das letras s , m , i , t ou h na coluna name .

Por exemplo, a partir do resultado podemos ver:

A substring ‘Smith’ nunca aparece no primeiro nome, então index_smith retorna um valor de 0 .

A letra i aparece na 7ª posição do primeiro nome, então indexc_smith retorna um valor de 7 .

E assim por diante.

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 *