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 :

modifier les labels des levels


Sujet :

R

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut modifier les labels des levels
    Bonjour,
    Comme le nom du post l'indique, je souhaiterais modifier les libellés associés aux niveaux d'un facteur.
    Code Exemple : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     A <- factor(c('1','2','1','1','2','2','2'),levels=c(1,2)) ; A
    B <- factor(c('1','2','1','1','2','2','2'),levels=c(1,2),labels=c('H','F')) ; B
    Les libellés des facteurs de ma variable A sont par défaut égaux à leur valeur.
    Il est possible de leur donner initialement d'autres libellés comme pour la variable B.
    Mais est-il possible de modifier les libellés de A ?

    PS. J'ai trouvé une méthode en recréant la variable, éventuellement sur elle-même
    Code Exemple : Sélectionner tout - Visualiser dans une fenêtre à part
     C <- factor(A,labels=c('H','F')) ; C
    Mais ce n'est pas très élégant !

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    Pourquoi ce n'est pas élégant ?
    Il n'y a pas tant de façon de faire que ça et celle que tu propose est très bien.
    Sinon tu peux faire comme ça aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    levels(A) <- c("H", "F")
    factor(c("H", "F")[A])
    # ...
    Mais ta méthode me semble très propre.
    cdlt

  3. #3
    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 478
    Points
    4 478
    Par défaut
    Bonjour.
    S'il y a beaucoup de niveaux dans le facteur, il y a toujours le risque de se tromper en associant des nouveaux labels. Et s'il n'y en a que quelques-uns à changer, c'est fastidieux aussi.
    Le package {forcats} propose la fonction fct_recode pour indiquer des couples "nouveau label"="ancien label", ce trouve ça plus clair et plus fiable.
    Bon courage.
    Olivier

Discussions similaires

  1. Modifier les noms des champs sous VBA
    Par shadockgreg dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 17h50
  2. Lire et modifier les propriétés des fichiers Office
    Par SilkyRoad dans le forum Contribuez
    Réponses: 4
    Dernier message: 18/09/2006, 22h25
  3. Réponses: 5
    Dernier message: 11/08/2006, 16h43
  4. Réponses: 4
    Dernier message: 05/01/2006, 09h01
  5. [VB.NET] Datagrid : Modifier les headers des colones
    Par burnedsoul dans le forum VB.NET
    Réponses: 9
    Dernier message: 05/11/2005, 11h29

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