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 :

Tableau croisé R


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Tableau croisé R
    Bonjour à tous,

    Je débute sous R et j'ai besoin de votre aide.
    Mon problème est le suivant ; j'ai un tableau de la forme suivante :
    ID Var1
    1 X1
    2 X2
    3 X1
    3 X1
    3 X3
    4 X2
    4 X1

    Et je souhaiterai obtenir le tableau ci-dessous :

    ID X1 X2 X3
    1 1 0 0
    2 0 1 0
    3 2 0 1
    4 1 1 0


    Il me semblait bon d'utiliser table() mais ça ne me sort pas le tableau que je souhaite...
    Si quelqu'un à la solution, ça serait top
    Merci à vous.

  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 Tableau croisé R
    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
    > df1 <- data.frame(ID=c(1,2,3,3,3,4,4),
    +                   Val1=c("X1","X2","X1","X1","X3","X2","X1"))
    > df1
      ID Val1
    1  1   X1
    2  2   X2
    3  3   X1
    4  3   X1
    5  3   X3
    6  4   X2
    7  4   X1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    > library(reshape2)
    > df2 <- acast(df1,ID~Val1,length,value.var="Val1")
    > df2
      X1 X2 X3
    1  1  0  0
    2  0  1  0
    3  2  0  1
    4  1  1  0
    Cordialement,

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Ca marche très très bien ! Merci beaucoup pour votre réponse, vous m'enlevez une belle épine du pied !

    Cordialement

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

Discussions similaires

  1. [CR11] Tableau croisé (TC)
    Par silversatch62 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/08/2005, 13h28
  2. [CR] comment faire un tableau croisé
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 29/08/2004, 18h32
  3. Réponses: 2
    Dernier message: 26/07/2004, 18h08
  4. Réponses: 3
    Dernier message: 26/07/2004, 12h03
  5. [CR9] Colorier les cellules d'un tableau croisé
    Par Koko22 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2003, 16h57

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