Hoe de scan-functie in sas te gebruiken (met voorbeelden)


U kunt de SCAN- functie in SAS gebruiken om het n- de woord uit een tekenreeks te extraheren.

Deze functie gebruikt de volgende basissyntaxis:

SCAN (tekenreeks, nummer)

Goud:

  • string : De tekenreeks die moet worden geparseerd
  • count : Het zoveelste woord dat moet worden geëxtraheerd

Dit zijn de drie meest voorkomende manieren om deze functie te gebruiken:

Methode 1: haal het zoveelste woord uit de string

 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;

Methode 2: Extraheer het laatste woord uit de string

 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;

Methode 3: Extraheer meerdere woorden uit een string

 data new_data;
    set original_data;
    first_word = scan (string_variable, 1 );
    second_word = scan (string_variable, 2 );
    third_word = scan (string_variable, 3 );
run ;

De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:

 /*create dataset*/
data original_data;
    input name $20. dirty;
    datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;

/*view dataset*/
proc print data = original_data; 

Voorbeeld 1: Extraheer het n- de woord uit de string

De volgende code laat zien hoe u het tweede woord uit elke tekenreeks in de naamkolom kunt extraheren:

 /*extract second word in each row of name column*/
data new_data;
    set original_data;
    second_word = scan (name, 2 );
run ;

/*view results*/
proc print data =new_data;

SCAN-functie in SAS

Merk op dat de nieuwe kolom genaamd second_word het tweede woord van elke string in de naamkolom bevat.

Voorbeeld 2: Extraheer het laatste woord uit de string

De volgende code laat zien hoe u de waarde -1 in de scanfunctie gebruikt om het laatste woord van elke tekenreeks in de naamkolom te extraheren:

 /*extract last word in each row of name column*/
data new_data;
    set original_data;
    last_word = scan (name, -1 );
run ;

/*view results*/
proc print data =new_data;

Houd er rekening mee dat de nieuwe kolom met de naam last_word het laatste woord van elke tekenreeks in de naamkolom bevat.

Voorbeeld 3: Haal meerdere woorden uit een string

De volgende code laat zien hoe u de scanfunctie gebruikt om elk woord uit elke tekenreeks in de naamkolom te extraheren:

 /*extract each word in each row of name column*/
data new_data;
    set original_data;
    first_word = scan (name, 1 );
    second_word = scan (name, 2 );
    third_word = scan (name, 3 );
run ;

/*view results*/
proc print data =new_data;

Merk op dat er drie nieuwe kolommen zijn gemaakt met het eerste, tweede en derde woord van elke tekenreeks in de naamkolom .

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

Hoe de SUBSTR-functie in SAS te gebruiken
Hoe de FIND-functie in SAS te gebruiken
Hoe de COALESCE-functie in SAS te gebruiken

Einen Kommentar hinzufügen

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