Come utilizzare la funzione indexc in sas


È possibile utilizzare la funzione INDEXC in SAS per restituire la posizione della prima occorrenza di un singolo carattere in una stringa.

Questa funzione utilizza la seguente sintassi di base:

INDEXC(fonte, estratto)

Oro:

  • source : il canale da analizzare
  • extract : la stringa di caratteri da cercare nell’origine

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: utilizzo della funzione INDEXC in SAS

Supponiamo di avere il seguente set di dati in SAS che contiene una colonna di nomi:

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

Possiamo usare la funzione INDEXC per trovare la posizione della prima occorrenza dei caratteri x , y o 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;

La nuova colonna denominata first_xyz visualizza la posizione della prima occorrenza dei caratteri x , y o z nella colonna del nome .

Se nessuno di questi tre caratteri è presente nella colonna del nome , la funzione INDEXC restituisce semplicemente il valore 0 .

Ad esempio, dal risultato possiamo vedere:

La posizione della prima occorrenza di x, y o z nella prima riga è la posizione 4 . Possiamo vedere che il carattere nella posizione 4 nella prima riga è a y .

La posizione della prima occorrenza di x, y o z nella seconda riga è 0 perché nessuna di queste tre lettere esiste nel nome della seconda riga.

E così via.

La differenza tra le funzioni INDICE e INDICEC

La funzione INDICE in SAS restituisce la posizione della prima occorrenza di una particolare sottostringa in un’altra stringa.

L’esempio seguente illustra la differenza tra le funzioni 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; 

La colonna index_smith mostra la posizione della prima occorrenza della sottostringa “Smith” nella colonna del nome .

La colonna indexc_smith visualizza la posizione della prima occorrenza delle lettere s , m , i , t o h nella colonna del nome .

Ad esempio, dal risultato possiamo vedere:

La sottostringa ‘Smith’ non appare mai nel primo nome, quindi index_smith restituisce un valore 0 .

La lettera i appare nella settima posizione del nome quindi indexc_smith restituisce un valore di 7 .

E così via.

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in SAS:

Come utilizzare la funzione SUBSTR in SAS
Come utilizzare la funzione COMPRIMERE in SAS
Come utilizzare la funzione TROVA in SAS
Come utilizzare la funzione COALESCE in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *