-
Recherche d'un mot - R
Bonjour,
Je vous contacte car j'essaie de rechercher un mot dans une chaîne de caractères avec R. J'utilise la fonction grepl. Cependant cette fonction recherche les phrases qui contiennent la séquence d'un mot.
Je m'explique : si j'ai deux phrases par exemple, "nous avons de bonnes relations", "c'est très bon" ; et que je cherche le mot "bon" soit grepl("bon", x), cela me donnera les deux phrases car "bonnes" contient la séquence "bon" alors que je voulais que la seconde. Y a t-il un moyen de dire que "bon" est le mot entier à chercher et pas toutes les formes possibles qui contiennent bon ?
En vous remerciant,
Marion
-
Bonsoir,
Avec le paramètre
N'oubliez pas que vous avez la doc de la fonction accessible à tout moment par la syntaxe ?grepl
Bonne soirée.
Emmanuel
-
Bonjour Maryooon.
Pour traiter le texte, tu as la librairie TM qui permet de faire cela bien mieux que ce que je vais t'expliquer dans la suite.
Pour découper un texte, tu peux splitter un texte en phrases puis en mots.
Pour cela tu as la fonction split sous R (à vérifier).
Tu entres comme paramètre ton texte et tes paramètres de séparation. Dans le cas d'un texte, tu prendras le point, puis la virgule, puis les espaces plus les apostrophes.
Exemple :
Code:
Phrases = split(Texte, ".")
Au plaisir de te lire
-
Bonsoir,
Merci pour vos réponses.
J'ai lu la documentation avant de poser la question et non fixed=TRUE ne fonctionne pas.
Par ailleurs, "spliter" mon texte ne serait pas optimal car je voudrai appliquer des opérateurs tels que : "est-ce que ce mot la est présent dans mon texte "ou" ce mot la "et" "non" ce mot la" etc et je devrai avoir recours à trop de "if".
J'ai réussi à avoir la réponse à ma question : il suffit d'utiliser "\\b" avant et après le mot et l'option Perl=TRUE. (grepl("\\bbon\\b", x, perl=TRUE) pour mon exemple).
Bonne soirée !