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 :

Créer une variable par modalité d'une autre variable


Sujet :

R

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 24
    Points
    24
    Par défaut Créer une variable par modalité d'une autre variable
    Bonjour,

    J'ai un tableau de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ID Var Top
    A x T1
    B x T2 
    B y T0
    C u T1
    C t T2
    C v T3
    Je souhaiterais obtenir le tableau suivant avec une variable par modalité de la variable "Top".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ID T0 T1 T2 T3
    A NA x NA NA
    B y NA x NA
    C NA u t v
    Je ne sais pas dans quel sens partir, si vous avez des pistes je vous en serais reconnaissante.

    Merci,

    Virginie

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Transposer des données
    Bonjour,

    Les packages reshape et reshape2 sont très utiles pour transposer des données.

    Par exemple pour votre question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    > df <- data.frame(ID=c('A','B','B','C','C','C'),
    +                  Var=c('x','x','y','u','t','v'),
    +                  Top=c('T1','T2','T0','T1','T2','T3'))
    > df
      ID Var Top
    1  A   x  T1
    2  B   x  T2
    3  B   y  T0
    4  C   u  T1
    5  C   t  T2
    6  C   v  T3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > library(reshape2)
    > dcast(df, ID ~ Top, value.var="Var")
      ID   T0   T1   T2   T3
    1  A <NA>    x <NA> <NA>
    2  B    y <NA>    x <NA>
    3  C <NA>    u    t    v
    Pour un autre exemple de l'utilisation de ces packages, vous pouvez regarder ici.

    Cordialement,

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Merci pour votre réponse, c'est ce que je voulais obtenir.

    Virginie

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

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