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