grep("y|x", data, fixed = TRUE) ne renvoie rien

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

Guillaume Le Lay
Messages : 16
Enregistré le : 19 Fév 2020, 23:19

grep("y|x", data, fixed = TRUE) ne renvoie rien

Messagepar Guillaume Le Lay » 22 Fév 2020, 09:22

Bonjour à toutes et tous,

Je cherche à affiner une base de textes (format .txt) en grand nombre pour ne conserver que ceux qui m'intéressent. Après avoir crée un objet "Accordstxt" contenant l'ensemble des textes, j'ai tenté de construire des sous ensemble comme suit :

Code : Tout sélectionner

proroelectro <- grep("prorogations|vote électronique", x = Accordstxt, value = TRUE, fixed = TRUE)


Avec l'idée de construire un objet "proroelectro" qui contiendrait tous les textes dans lesquels on trouverait l'une ou l'autre des occurrences.

Cependant ainsi rédigée cette commande crée un objet vide (character empty), alors que je suis absolument certains qu'il existe des milliers de textes où ces expressions apparaissent exactement sous cette forme. D'ailleurs quand je les recherche indépendamment je les trouve :

Code : Tout sélectionner

prorogations <- grep("prorogations", Accordstxt, value = TRUE, fixed = TRUE)

votelectro <- grep("vote électronique", Accordstxt, value = TRUE, fixed = TRUE)


Je trouve ainsi 6072 textes contenant la chaîne de caractère "prorogations"

et 9000 textes contenant la chaîne "vote électronique"

J'ai donc modifié la commande en précisant, fixed = FALSE

Code : Tout sélectionner

proroelectro <- grep("prorogations|vote électronique", x = Accordstxt, value = TRUE, fixed = FALSE


Qui me renvoie 9098 résultats. C'est mieux mais cela me laisse un peu incertain sur les chaînes de caractère ayant été supprimées. Surtout je ne comprends pas pourquoi la commande ne fonctionne pas avec fixed = TRUE.

Auriez-vous quelques indications à me fournir sur le fonctionnement de cette fonction ?

Vous remerciant par avance de votre attention,

Guillaume

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

Re: grep("y|x", data, fixed = TRUE) ne renvoie rien

Messagepar Logez Maxime » 24 Fév 2020, 06:59

Bonjour,

Le problème vient de l'argument fixed. Si tu l'enlèves tu n'as plus de soucis.
J'aurai mis des parenthèses autours de chaque chaîne de caractères a retrouvée dans le texte, pour grouper les expressions.

Code : Tout sélectionner

proroelectro <- grep("(prorogations)|(vote électronique)", x = Accordstxt, value = TRUE, fixed = FALSE)
Cordialement,
Maxime

Guillaume Le Lay
Messages : 16
Enregistré le : 19 Fév 2020, 23:19

Re: grep("y|x", data, fixed = TRUE) ne renvoie rien

Messagepar Guillaume Le Lay » 24 Fév 2020, 10:56

Bonjour,

Merci pour le conseil !

Bonne journée

Guillaume


Retourner vers « Questions en cours »

Qui est en ligne

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