Hoe de indexc-functie in sas te gebruiken


U kunt de INDEXC- functie in SAS gebruiken om de positie te retourneren van de eerste keer dat een afzonderlijk teken in een tekenreeks voorkomt.

Deze functie gebruikt de volgende basissyntaxis:

INDEXC(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 INDEXC-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 INDEXC- functie gebruiken om de positie te vinden van de eerste keer dat de tekens x , y of z voorkomen:

 /*find position of first occurrence of either x, y or z in name*/
data new_data;
    set original_data;
    first_xyz = indexc (name, 'xyz');
run ;

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

De nieuwe kolom genaamd first_xyz geeft de positie weer van de eerste keer dat de tekens x , y of z voorkomen in de naamkolom .

Als geen van deze drie tekens in de naamkolom voorkomt, retourneert de functie INDEXC eenvoudigweg de waarde 0 .

Uit het resultaat kunnen we bijvoorbeeld zien:

De positie van het eerste voorkomen van x, y of z in de eerste rij is positie 4 . We kunnen zien dat het teken op positie 4 in de eerste regel a y is.

De positie van de eerste keer dat x, y of z in de tweede rij voorkomt, is 0 , omdat geen van deze drie letters voorkomt in de naam van de tweede rij.

Enzovoort.

Het verschil tussen INDEX- en INDEXC-functies

De INDEX- functie in SAS retourneert de positie van de eerste keer dat een bepaalde subtekenreeks in een andere tekenreeks voorkomt.

Het volgende voorbeeld illustreert het verschil tussen de INDEX- en INDEXC- functies:

 /*create new dataset*/
data new_data;
    set original_data;
    index_smith = index (name, 'Smith');
    indexc_smith = indexc (name, 'Smith');
run ;

/*view new dataset*/
proc print data =new_data; 

De kolom index_smith geeft de positie weer van het eerste exemplaar van de substring ‚Smith‘ in de naamkolom .

De kolom indexc_smith geeft de positie weer van de eerste keer dat de letters s , m , i , t of h voorkomen in de naamkolom .

Uit het resultaat kunnen we bijvoorbeeld zien:

De subtekenreeks ‚Smith‘ verschijnt nooit in de voornaam, dus index_smith retourneert een waarde van 0 .

De letter i verschijnt op de 7e positie van de voornaam, dus indexc_smith retourneert een waarde van 7 .

Enzovoort.

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

Einen Kommentar hinzufügen

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