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 :

détecter la dernière syllabe d'un vecteur de noms


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut détecter la dernière syllabe d'un vecteur de noms
    Bonjour,

    Je souhaite étudier les noms de communes, voir quelle est leur phonétique en fonction de leur région d'appartenance. Pour cela, j'aimerais m'appuyer sur la dernière syllabe du nom de commune. Il faudrait que je puisse l'extraire.

    Ensuite, j'effectuerai un comptage de celle-ci par région.

    Avez-vous une idée de comment procéder, et de quel paquet utiliser?

    Merci!

  2. #2
    Membre émérite

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Billets dans le blog
    2
    Par défaut
    Bonjour Mathieu,

    Tu dois savoir faire deux choses :
    Extraire une chaîne de caractères d'un texte et connaitre sa position.
    Puis faire la liste des sons en français qui est limité.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut
    en fait, j'ai trouvé une solution à base d'expression régulière qui vaut ce qu'elle vaut. Je vous la partagerai une fois qu'elle sera aboutie.

    Lister tous les sons, cela risque d'être fastidieux!..

    à part ça, si vous avez encore des idées...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut
    J'ai développé une fonction qui vaut ce qu'elle vaut pour détecter la dernière syllabe.

    Elle prend en entrée un vecteur de caractères

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    findSyllabus <- function(txt) {
    regles <- list("[^aeiouyîïéèm]?[aeiouyîïéè]+[^aeiouyîïéè]*$",
                  "[m]+[aeiouyîïéè]+[^aeiouyîïéè]*$", 
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[l]{1,2}[aeiouyîïéè][s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[n]{1,2}[aeiouyîïéè][s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[m]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[x]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[s]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[z]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[tr]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[vr]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[pr]{1,2}(e)[s]?$",
                  "[^aeiouyîïéèm]?[aeiouyîïéè]+[g]{1,2}(e)[s]?$",
                   "(gn)[aeiouy]+[^aeiouy]?$",
                   "(pl)[aeiouy]+[^aeiouy]?$",
                   "(br)[aeiouy]+[^aeiouy]?$",
                   "(bl)[aeiouy]+[^aeiouy]?$")
    out <- vector(mode="list", length=length(txt))
    for (i in seq(along=regles)) {
      p <- regexpr(regles[[i]], txt)
      ids <- which(p > 0); #print(ids)
      s <- sapply(1:length(txt), function(x) substr(txt[x], p[x], nchar(txt[x])))
      out[ids] <- s[ids]
    }
    return(unlist(out))
    }
     
    sylls <- findSyllabus(tolower(f$NOM_COMM))

  5. #5
    Membre chevronné
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/07/2013, 14h44
  2. Réponses: 2
    Dernier message: 05/02/2013, 19h53
  3. détecter la dernière ligne du GridView
    Par DeveloppeurWeb dans le forum ASP.NET
    Réponses: 8
    Dernier message: 23/02/2011, 11h12
  4. Réponses: 5
    Dernier message: 22/11/2010, 17h39
  5. trier un vecteur de nom?
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/12/2005, 08h21

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