Hoe getallen uit een string in sas te extraheren


De eenvoudigste manier om getallen uit een tekenreeks in SAS te extraheren, is door de COMPRESS- functie te gebruiken met de ‚A‘-modifier.

Deze functie gebruikt de volgende basissyntaxis:

 data new_data;
    set original_data;
    numbers_only = compress(some_string, '', ' A ');
run ;

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: getallen extraheren uit een tekenreeks in SAS

Stel dat we de volgende dataset in SAS hebben die de namen van verschillende universitaire cursussen toont:

 /*create dataset*/
data original_data;
    input course $12.;
    datalines ;
Stats101
Economics203
Business201
Botany411
Calculus101
English201
Chemistry402
Physics102
;
run ;

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

We kunnen de volgende code gebruiken om alleen de cijfers uit elke cursusnaam te extraheren:

 /*extract numbers from course column*/
data new_data;
    set original_data;
    course_number_only = compress (course, '', ' A ');
run ;

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

Houd er rekening mee dat de nieuwe kolom met de naam course_number_only alleen de getallen uit de strings in de cursuskolom bevat.

Als u in plaats daarvan alleen de tekens uit elke tekenreeks wilt extraheren, kunt u de COMPRESS- functie gebruiken met de ‚d‘-modifier:

 /*extract characters from course column*/
data new_data;
    set original_data;
    course_characters_only = compress (course, '', ' d ');
run ;

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

Merk op dat de nieuwe kolom course_characters_only alleen de getallen uit de strings in de cursuskolom bevat.

Opmerking : u kunt een volledige lijst met modifiers voor de COMPRESS- functie vinden op deze SAS-documentatiepagina .

Aanvullende bronnen

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

Gegevens normaliseren in SAS
Hoe uitschieters in SAS te identificeren
Hoe frequentietabellen in SAS te maken

Einen Kommentar hinzufügen

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