Hoe de countw-functie in sas te gebruiken (met voorbeeld)


U kunt de functie COUNTW in SAS gebruiken om het aantal woorden in een tekenreeks te tellen.

Deze functie gebruikt de volgende syntaxis:

COUNTW(tekenreeks, <karakter>, <modificator>)

Goud:

  • string: De string die de woorden bevat die moeten worden geteld
  • karakter : Optionele tekenconstante die een lijst met tekens initialiseert
  • edit : optionele codes die tekens of symbolen specificeren die als scheidingstekens tussen woorden moeten tellen

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

Voorbeeld: hoe u de COUNTW-functie in SAS gebruikt

Laten we aannemen dat we de volgende gegevensset in SAS hebben:

 /*create dataset*/
data my_data;
    input phrase $char50. ;
    datalines ;
Hey_everyone
What's going on today
Wow, what a great day
Let's have fun
We should play basketball
This weather is so so awesome
;
run ;

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

De volgende code laat zien hoe u de functie COUNTW gebruikt om een nieuwe kolom te maken waarin het aantal woorden in elke rij van de expressiekolom wordt weergegeven:

 /*create new dataset that shows number of words in each row*/
data new_data;
    set my_data;
    word_count = countw (phrase);
run ;

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

Standaard beschouwt de functie COUNTW alleen spaties als scheidingstekens tussen woorden.

Dus:

  • In de eerste zin zijn er geen spaties, dus de COUNTW-functie telt in totaal slechts één woord.
  • In de tweede zin zijn er drie spaties, dus de COUNTW-functie heeft in totaal 4 woorden.
  • In de derde zin zijn er vier spaties, dus de COUNTW-functie heeft in totaal 5 woorden.

Enzovoort.

We kunnen echter een lijst met modificatoren opgeven die ook als scheidingstekens tussen woorden gelden.

We kunnen bijvoorbeeld de volgende syntaxis gebruiken om te specificeren dat een spatie en een onderstrepingsteken beide als scheidingstekens tussen woorden moeten worden beschouwd:

 /*create new dataset that shows number of words in each row*/
data new_data;
    set my_data;
    word_count = countw (phrase, '_');
run ;

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

De nieuwe kolom word_count telt nu nauwkeurig het aantal woorden in de eerste zin, omdat we hebben verduidelijkt dat een onderstrepingsteken ook als scheidingsteken tussen woorden moet worden beschouwd.

Let op : U kunt hier de volledige documentatie voor de SAS COUNTW- functie vinden.

Aanvullende bronnen

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

Hoe getallen uit een string in SAS te extraheren
Hoe de SUBSTR-functie in SAS te gebruiken
Speciale tekens verwijderen uit tekenreeksen in SAS

Einen Kommentar hinzufügen

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