Hoe de index-functie in sas te gebruiken (met voorbeelden)
U kunt de INDEX- functie in SAS gebruiken om de positie te retourneren van de eerste keer dat een tekenreeks in een andere tekenreeks voorkomt.
Deze functie gebruikt de volgende basissyntaxis:
INDEX(bron, uittreksel)
Goud:
- bron : het kanaal dat moet worden geanalyseerd
- extract : De tekenreeks waarnaar in de bron moet worden gezocht
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: gebruik van de INDEX-functie in SAS
Stel dat we de volgende gegevensset in SAS hebben die een kolom met namen bevat:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
We kunnen de INDEX- functie gebruiken om de positie te vinden van de eerste keer dat de string „Smith“ in elke regel voorkomt:
/*find position of first occurrence of 'Smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' Smith ');
run ;
/*view results*/
proc print data = new_data;
De nieuwe kolom genaamd first_smith geeft de positie weer van de eerste keer dat de string ‚Smith‘ voorkomt in de naamkolom .
Als ‚Smith‘ helemaal niet wordt gevonden, retourneert de functie INDEX eenvoudigweg de waarde 0 .
Het is belangrijk op te merken dat de INDEX- functie hoofdlettergevoelig is, dus als u in plaats daarvan naar „smith“ zoekt, retourneert de INDEX- functie 0 voor elke tekenreeks:
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' smith ');
run ;
/*view results*/
proc print data = new_data;
Om een hoofdletterongevoelige zoekopdracht uit te voeren, kunt u de functie lowcase() gebruiken om eerst elke tekenreeks naar kleine letters te converteren en vervolgens als volgt naar „smith“ te zoeken:
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index ( lowcase (name), ' smith ');
run ;
/*view results*/
proc print data = new_data;
Door elke tekenreeks eerst naar kleine letters te converteren, kunnen we de INDEX- functie gebruiken om een hoofdletterongevoelige zoekopdracht uit te voeren.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende functies in SAS kunt gebruiken:
Hoe de SUBSTR-functie in SAS te gebruiken
Hoe de COMPRESS-functie in SAS te gebruiken
Hoe de FIND-functie in SAS te gebruiken
Hoe de COALESCE-functie in SAS te gebruiken