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é dynamique sous R


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2016
    Messages : 29
    Points : 32
    Points
    32
    Par défaut Tableau croisé dynamique sous R
    Bonjour,
    J'ai mon tableau sous la forme suivante:
    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
     
    > read.csv('D:/essai_rca.csv', header = TRUE, sep = ";")
       Reporter.ISO Commodity.Code Mcp
    1            TN              1   1
    2            TN              2   0
    3            TN              3   0
    4            TN              4   1
    5           DZA              1   1
    6           DZA              2   1
    7           DZA              3   0
    8           DZA              4   1
    9            FR              1   0
    10           FR              2   1
    11           FR              3   1
    12           FR              4   0
    J'aimerais construire un tableau croisé dynamique comme l'on peut obtenir sous excel:
    En ligne: la colonne Reporter.ISO
    En colonne: la colonne Commodity.Code
    En valeur: la colonne Mcp (càd la valeur de Mcp pour chaque croisement entre les 2 colonnes précitées et la somme totale en ligne et en colonne)
    Le tableau sera sous la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
       DZA   FR   TN   Total
    1      1   0   1   2
    2      1   1   0   2
    3      0   1   0   1
    4      1   0   1   2
    Total   3   2   2   7
    Y a-t-il une solution sous R?
    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    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
    table = read.csv('D:/essai_rca.csv', header = TRUE, sep = ";")
     
    table1 = as.data.frame(matrix( table$Mcp, ncol = length(unique(table$Reporter.ISO))  , 
                                  nrow = nrow(table)/length(unique(table$Reporter.ISO))))
    colnames(table1) = unique(table$Reporter.ISO)
    row.names(table1)= unique(table$Commodity.Code)
    table1 = cbind(table1, rowSums(table1))
    table1 = rbind(table1, colSums(table1))
    colnames(table1) = c(colnames(table1)[1:(ncol(table1)-1)], 'total')
    row.names(table1)= c(row.names(table1)[1:(nrow(table1)-1)],'total')
    table1
    #       TN DZA FR total
    # 1      1   1  0     2
    # 2      0   1  1     2
    # 3      0   0  1     1
    # 4      1   1  0     2
    # total  2   3  2     7

  3. #3
    Membre éprouvé

    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
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Les librairies reshape et reshape2 ont des fonctions qui permettent cela.

    Au plaisir de te lire.

Discussions similaires

  1. Tableau croisé dynamique sous oracle
    Par N_Ron dans le forum Oracle
    Réponses: 4
    Dernier message: 28/07/2009, 15h13
  2. Tableau croisé dynamique sous Excel 2007
    Par kizzy dans le forum Excel
    Réponses: 1
    Dernier message: 30/06/2009, 11h18
  3. Réponses: 6
    Dernier message: 20/02/2007, 11h42
  4. filtrer tableau croisé dynamique sous excel
    Par kernel57 dans le forum Excel
    Réponses: 7
    Dernier message: 17/11/2006, 15h18
  5. tableau croisé dynamique sous delphi, comment ?
    Par Brice Yao dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2005, 10h33

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