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 :

Fonction str_locate_all (package stringr)


Sujet :

R

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Points : 147
    Points
    147
    Par défaut Fonction str_locate_all (package stringr)
    Bonjour,
    La fonction str_locate_all est censée renvoyer la liste des positions d'une sous-chaîne dans une chaîne de caractères.
    Dans mon exemple, je cherche à localiser la 2ème occurence du caractère "_" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    library(stringr)
    df <- data.frame(x=c("Test_XX_YY","Test2_YY_ZZ"))
    df %>% mutate(pos=str_locate_all(x,"_")[[1]][2])
    La console affiche le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    x pos
    1  Test_XX_YY   8
    2 Test2_YY_ZZ   8
    Le résultat est donc correct pour la 1ère ligne, mais pas pour la 2ème ?? (on devrait avoir 9 !)
    Merci pour votre aide !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Points : 147
    Points
    147
    Par défaut
    En fait, je recherchais plus exactement la sous-chaîne suivant le premier "_" (avec la fonction str_split)
    J'avais avec cette fonction le même genre de problème .
    Après quelques recherches sur le Net, j'ai trouvé une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    df %>% mutate(chaine = unlist(lapply(str_split(x,"_"), function(z) z[2])))

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/07/2019, 13h27
  2. Réponses: 4
    Dernier message: 01/03/2012, 19h40
  3. Réponses: 1
    Dernier message: 02/08/2006, 17h37
  4. Dans quel package se trouve les fonctions C ??
    Par red210 dans le forum Linux
    Réponses: 9
    Dernier message: 18/12/2005, 20h16
  5. Réponses: 8
    Dernier message: 20/12/2004, 15h14

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