Hoe de findc-functie in sas te gebruiken


U kunt de functie FINDC 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:

FINDC (string, lijst met tanks)

Goud:

  • string : De tekenreeks die moet worden geparseerd
  • charlist : De lijst met tekens 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 FINDC-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 functie FINDC 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 = findc (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 FINDC 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 de functies FIND en FINDC

De functie FIND 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 functies FIND en FINDC :

 /*create new dataset*/
data new_data;
    set original_data;
    find_smith = find (name, 'Smith');
    findc_smith = findc (name, 'Smith');
run ;

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

De kolom find_smith geeft de positie weer van de eerste keer dat de subtekenreeks „Smith“ voorkomt in de naamkolom .

De kolom findc_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‘ komt nooit voor in de voornaam, dus find_smith retourneert een waarde van 0 .

De letter i verschijnt op de 7e positie van de voornaam, dus findc_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 FIND-functie in SAS te gebruiken
Hoe de SUBSTR-functie in SAS te gebruiken
Hoe de COMPRESS-functie in SAS te gebruiken

Einen Kommentar hinzufügen

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