Calcul de la frequence des caracteres dans un DF

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Jean-Christophe Steinbach
Messages : 7
Enregistré le : 14 Déc 2013, 12:56

Calcul de la frequence des caracteres dans un DF

Messagepar Jean-Christophe Steinbach » 22 Fév 2018, 22:55

Bonjour à tous,

Je dois nettoyer un jeu de donnes avant de le traiter, et tout particulierement une colonne comportant du texte saisi à la main. Je dois m'assurer que seules les 26 caractères de l'alphabet sont utilisés et en majuscule.
Je pensais utiliser une fonction (que je ne connais pas ... encore) pour denombrer tous les caractères utilisés et reperer facilement des caracteres accentués, tiret, ç ,@ et autres joyeusetés.
J'avoue avoir un peu de mal a identifier cette fonction et un peu d'aide serait bien venue. Toute autre technique de reperage est egalement la bien venue.
Merci par avance a ceux qui pourront m'aider.
Bien cordialement.

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Calcul de la frequence des caracteres dans un DF

Messagepar Serge Rapenne » 23 Fév 2018, 08:25

Bonjour,

une solution possible :

Code : Tout sélectionner

df=data.frame(ID=c("azertyui","az2erty","Ase25","qsdfG","wxé","edf-er"),Val=1:6) #jeu de données pour l'ex
df
        ID Val
1 azertyui   1
2  az2erty   2
3    Ase25   3
4    qsdfG   4
5      wxé   5
6   edf-er   6
#les df$ID ne contenant que des caractères peuvent être détecté comme ça :
grep("^[A-Za-z]+$",df$ID)
#les elements du dataframe ne respectant pas cette regle sont tous les autres :
df[-grep("^[A-Za-z]+$",df$ID),]
       ID Val
2 az2erty   2
3   Ase25   3
5     wxé   5
6  edf-er   6


Serge

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Calcul de la frequence des caracteres dans un DF

Messagepar Logez Maxime » 23 Fév 2018, 08:37

Bonjour,

La solution de serge te permet de détecter toute chaîne de caractères avec des lettres quelle que soit la casse. Si tu veux virer les chaînes de caractères qui ne sont pas composées exclusivement de lettres de alphabet en majuscule :

Code : Tout sélectionner

df=data.frame(ID=c("AZERTY","az2erty","ASE25","QSDFG","wxé","edf-er"),Val=1:6) #jeu de données pour l'ex
df[!grepl("[^A-Z]", df$ID),]
      ID Val
1 AZERTY   1
4  QSDFG   4
Cordialement,
Maxime

Jean-Christophe Steinbach
Messages : 7
Enregistré le : 14 Déc 2013, 12:56

Re: Calcul de la frequence des caracteres dans un DF

Messagepar Jean-Christophe Steinbach » 23 Fév 2018, 23:01

Merci à tous les deux.
Je croix que cela repondra tres bien a mon besoin.

Bien a vous


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité