Hoe de substr-functie in sas te gebruiken (met voorbeelden)
U kunt de functie SUBSTR in SAS gebruiken om een deel van een tekenreeks te extraheren.
Deze functie gebruikt de volgende basissyntaxis:
SUBSTR(Bron, Positie, N)
Goud:
- Bron : het kanaal dat moet worden geanalyseerd
- Positie : de startpositie om te lezen
- N : Het aantal tekens dat moet worden gelezen
Dit zijn de vier meest voorkomende manieren om deze functie te gebruiken:
Methode 1: Extraheer de eerste N tekens uit de string
data new_data;
set original_data;
first_four = substr (string_variable, 1 , 4 );
run ;
Methode 2: Extraheer tekens in een specifiek positiebereik uit een tekenreeks
data new_data;
set original_data;
two_through_five = substr (string_variable, 2 , 4 );
run ;
Methode 3: Extraheer de laatste N tekens uit de string
data new_data;
set original_data;
last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;
Methode 4: Maak een nieuwe variabele als er tekens in de string voorkomen
data new_data;
set original_data;
if substr (string_variable, 1 , 4 ) = ' some_string ' then new_var = ' Yes ';
else new_var = ' No ';
run ;
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:
/*create dataset*/
data original_data;
input team $1-10;
datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;
/*view dataset*/
proc print data = original_data;
Voorbeeld 1: Extraheer de eerste N tekens uit een string
De volgende code laat zien hoe u de eerste vier tekens uit de teamvariabele kunt extraheren:
/*create new dataset*/
data new_data;
set original_data;
first_four = substr (team, 1 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;
Merk op dat de variabele first_four de eerste vier tekens van de teamvariabele bevat.
Voorbeeld 2: Extraheer tekens in een specifiek positiebereik uit een tekenreeks
De volgende code laat zien hoe u tekens uit posities 2 tot en met 5 van de teamvariabele kunt extraheren:
/*create new dataset*/
data new_data;
set original_data;
two_through_five = substr (team, 2 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;
Voorbeeld 3: Extraheer de laatste N tekens uit een string
De volgende code laat zien hoe u de laatste 3 tekens uit de teamvariabele kunt extraheren:
/*create new dataset*/
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
/*view new dataset*/
proc print data = new_data;
Voorbeeld 4: Maak een nieuwe variabele als er tekens in de string voorkomen
De volgende code laat zien hoe u een nieuwe variabele maakt met de naam W_Team , die resulteert in “ ja “ als het eerste teken van de teamnaam „W“ is, of “ nee “ als de eerste tekens geen „W“ zijn.
/*create new dataset*/
data new_data;
set original_data;
if substr (team, 1 , 1 ) = ' W ' then W_Team = ' Yes ';
else W_Team = ' No ';
run ;
/*view new dataset*/
proc print data = new_data;
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Gegevens normaliseren in SAS
Hoe tekens in een string in SAS te vervangen
Hoe ontbrekende waarden te vervangen door nul in SAS
Hoe duplicaten in SAS te verwijderen