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