Come utilizzare la funzione trova in sas
È possibile utilizzare la funzione TROVA in SAS per restituire la posizione della prima occorrenza di un singolo carattere in una stringa.
Questa funzione utilizza la seguente sintassi di base:
FINDC (stringa, elenco serbatoi)
Oro:
- string : la stringa da analizzare
- charlist : l’elenco dei caratteri da cercare nell’origine
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: utilizzo della funzione TROVA 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 utilizzare la funzione TROVA 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 = findc (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 FINDC 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 TROVA e TROVA
La funzione TROVA 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 TROVA e TROVA :
/*create new dataset*/
data new_data;
set original_data;
find_smith = find (name, 'Smith');
findc_smith = findc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
La colonna find_smith mostra la posizione della prima occorrenza della sottostringa “Smith” nella colonna del nome .
La colonna findc_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 nome, quindi find_smith restituisce un valore 0 .
La lettera i appare nella settima posizione del nome quindi findc_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 TROVA in SAS
Come utilizzare la funzione SUBSTR in SAS
Come utilizzare la funzione COMPRIMERE in SAS