Comment utiliser la fonction COUNTW dans SAS (avec exemple)



Vous pouvez utiliser la fonction COUNTW dans SAS pour compter le nombre de mots dans une chaîne de caractères.

Cette fonction utilise la syntaxe suivante :

COUNTW(chaîne, <caractère>, <modificateur>)

où:

  • string : La chaîne qui contient les mots à compter
  • caractère : Constante de caractère facultative qui initialise une liste de caractères
  • modifier : codes facultatifs qui spécifient des caractères ou des symboles à compter comme séparateurs entre les mots

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : Comment utiliser la fonction COUNTW dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS :

/*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;

Le code suivant montre comment utiliser la fonction COUNTW pour créer une nouvelle colonne affichant le nombre de mots dans chaque ligne de la colonne d’expression :

/*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;

Par défaut, la fonction COUNTW considère uniquement les espaces comme séparateurs entre les mots.

Ainsi:

  • Dans la première phrase, il n’y a pas d’espaces, donc la fonction COUNTW ne compte qu’un seul mot au total.
  • Dans la deuxième phrase, il y a trois espaces, donc la fonction COUNTW compte un total de 4 mots.
  • Dans la troisième phrase, il y a quatre espaces, donc la fonction COUNTW compte un total de 5 mots.

Et ainsi de suite.

Cependant, nous pouvons spécifier une liste de modificateurs qui comptent également comme séparateurs entre les mots.

Par exemple, nous pouvons utiliser la syntaxe suivante pour spécifier qu’un espace et un trait de soulignement doivent tous deux être considérés comme des séparateurs entre les mots :

/*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;

La nouvelle colonne word_count compte désormais avec précision le nombre de mots dans la première phrase puisque nous avons précisé qu’un trait de soulignement doit également être considéré comme un séparateur entre les mots.

Remarque : Vous pouvez trouver la documentation complète de la fonction SAS COUNTW ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment extraire des nombres d’une chaîne dans SAS
Comment utiliser la fonction SUBSTR dans SAS
Comment supprimer les caractères spéciaux des chaînes dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *