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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert