IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

R - Recherche de correspondance de mots entre deux vecteurs


Sujet :

R

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut R - Recherche de correspondance de mots entre deux vecteurs
    Bonjour,

    Je cherche à retrouver les mots similaires entre deux vecteurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x=c("beau soleil","nuage", "pluie")
    y=c("gris", "nuage gris", "beau")
    J'aimerai ainsi voir si "beau" se retrouve bien dans les deux et "nuage" également. En sachant que dans un vecteur il y a un seul mot et dans l'autre plusieurs.
    J'ai essayé avec is.element(x,y) mais cela ne marche pas car il comprend "beau soleil" entièrement et non "beau".

    Est-ce que vous aurez une solution?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 476
    Points
    4 476
    Par défaut
    Bonjour.
    Comme tu le dis, ce qu'il faut, c'est découper en mots les éléments du vecteur qui en contiennent plusieurs. Par exemple avec la fonction strsplit qui pourra rechercher les blancs, ou même tout signe de ponctuation puisqu'elle accepte les expressions régulières. Il en ressort une liste avec des sous-listes pour les éléments contenant plusieurs mots ; la fonction flatten_chr de purrr ramènera tout ça à un gentil vecteur. Et tu pourras faire du is.element avec.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    x <- c("beau soleil","nuage", "pluie")
    y <- c("gris", "nuage gris", "beau")
     
    purrr::flatten_chr(strsplit(x,"\\s"))
    # [1] "beau"   "soleil" "nuage"  "pluie" 
     
    purrr::flatten_chr(strsplit(y," "))
    # [1] "gris"  "nuage" "gris"  "beau"
    Bon courage.
    Olivier

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Recherche d'un mot entre deux textes
    Par wojc01 dans le forum WinDev
    Réponses: 6
    Dernier message: 09/11/2009, 20h38
  2. recherche mot entre deux délimiteurs
    Par dz_robotix dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/10/2009, 12h29
  3. Recherche de la distance km entre deux adresses
    Par nanath02 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 15/10/2009, 23h35
  4. Correspondance entre deux vecteurs de taille différente
    Par MisterK dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 31/03/2008, 18h07
  5. [VB.Net 2.0] - Regex chercher un mot entre deux ?
    Par troxsa dans le forum Framework .NET
    Réponses: 8
    Dernier message: 20/02/2007, 23h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo