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 :

R : triple tri croisé


Sujet :

R

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 10
    Points
    10
    Par défaut R : triple tri croisé
    Bonjour à tous,

    J’ai trois variable qualitatives :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A	B	C
    rouge	sol	saut
    vert	mur	glissade
    rouge	sol	saut
    J’aimerais faire un tri croisé de ces trois variables de sortes à obtenir une information comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    A	B	C	n
    Rouge	Sol	Saut	2
    vert	mur	glissade
    Pensez-vous que cela soit possible ?

    Merci d'avance

  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,

    la librairie dply te sera très utile dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # si df est ton tableau
    library(dplyr)
    df %>% group_by(A, B, C) %>% summarise(n = n())
    cdlt

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par tototode Voir le message
    Bonjour,

    la librairie dply te sera très utile dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # si df est ton tableau
    library(dplyr)
    df %>% group_by(A, B, C) %>% summarise(n = n())
    cdlt

    Super, merci !!

    Par contre les liste ne s'affichent pas complètement. Est-ce qu'il y aurait un code à ajouter pour les voir entièrement?
    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
    Source: local data frame [41 x 3]
    Groups: A, B, C
     
               A  B	C      n
                      (fctr)          (chr)         (chr)          (int)
    1            rouge       sol         Autre                   1
    2            rouge       sol            NA           Sol     1
    3           orange Je ne sais pas                                 1
    4           orange       Obstacle                                 3
    5           orange       Obstacle           Sol                   4
    6           orange            Sol                                 3
    7           orange            Sol         Autre                   1
    8           orange            Sol      Obstacle                   3
    9  vert                                                1
    10 vert       sol      Obstacle                   1
    ..                   ...            ...           ...           ...   ...

  4. #4
    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
    re,

    une possibilité est de stocker le résultat dans un objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res <- df %>% group_by(A, B, C) %>% summarise(n = n())
    de transformer cet objet en data.frame
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res <- as.data.frame(res)
    et de le faire afficher cordialement

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci !

  6. #6
    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 Nombre d'observations par groupe
    Une alternative avec le package plyr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    > df <- data.frame(A=c("rouge","vert","rouge"),
    +                  B=c("sol","mur","sol"),
    +                  C=c("saut","glissade","saut"))
    > library(plyr)
    > count(df,c("A","B","C"))
          A   B        C freq
    1 rouge sol     saut    2
    2  vert mur glissade    1
    Remarque : ce code ne fonctionne pas si le package dplyr est chargé. Dans ce cas, il faut spécifier quelle fonction count() utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    > library(dplyr)
    > count(df,c("A","B","C"))
    # A tibble: 3 x 2
      `c("A", "B", "C")`     n
                   <chr> <int>
    1                  A     1
    2                  B     1
    3                  C     1
    > plyr::count(df,c("A","B","C"))
          A   B        C freq
    1 rouge sol     saut    2
    2  vert mur glissade    1
    Cordialement,

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci mgdondon

Discussions similaires

  1. Tri croisé avec question à choix multiple SAS
    Par Fly stat dans le forum SAS STAT
    Réponses: 11
    Dernier message: 06/05/2016, 15h32
  2. [XL-2007] Problème: Redressement et Tri Croisé
    Par statos75 dans le forum Excel
    Réponses: 1
    Dernier message: 30/10/2015, 17h40
  3. Tri croisé - lecture de résultat
    Par cococmoi dans le forum SAS Base
    Réponses: 1
    Dernier message: 16/10/2013, 14h43
  4. [XL-2007] Tri Tableau Croisé Dynamique
    Par amaryllis dans le forum Excel
    Réponses: 9
    Dernier message: 25/08/2010, 16h34
  5. Réponses: 4
    Dernier message: 31/07/2007, 14h34

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