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 :

Histogramme cumulé sur R


Sujet :

R

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Histogramme cumulé sur R
    Bonjour à tous !
    Je vous explique mon petit soucis: j'ai mon tableau de données avec en lignes mes relevés et en colonne les espèces, le pourcentage de traits moyens, la culture dans chaque relevé etc.

    L'idée est que j'aimerai réaliser un histogramme qui regroupe mes données:
    * en abscisse représenter chaque type de culture
    *en ordonnée représenter le pourcentage de trait moyen
    Pour représenter le trait moyen, j'aimerai que une barre = un trait avec une couleur représentant chaque proportion de chaque modalité du trait.
    Je ne sais pas si je suis très claire....

  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 Histogramme cumulé sur R
    Bonjour,

    Est-ce que cette discussion répond à votre question ?

    Vous pouvez voir aussi ce message.

    Cordialement,

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse
    J'avais déjà vu ces sujets, mais le problème est qu'il font cela sur des vecteurs crées ou des jeux de données différents des miens. par exemple en x je met ma colonne culture donc cela fonctionne, mais en y du coup je dois intégrer plusieurs colonnes qui vont représenter mes modalités mais je ne sais pas comment faire car avec leur formule je ne comprend pas et cela ne fonctionne pas

  4. #4
    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 Histogramme cumulé sur R
    Dans ce cas le mieux serait de mettre un extrait de votre fichier.

    Cordialement,

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Traits.xlsx

    Le voici
    Du coup cela correspond à un pourcentage de trait (trait moyen) par relevé et du coup je voudrais faire cela en fonction du type de culture (et par année mais ça j'ai juste à sélectionner les lignes )

  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 Histogramme cumulé sur R
    Bonjour,

    Je comprends que vous voulez obtenir une barre par type culture or vous avez plusieurs échantillons par type de culture. Vous devez donc réfléchir à la façon dont vous souhaitez résumer vos données (moyenne des échantillons ? sélection d'un échantillon particulier ?). Par ailleurs certains échantillons ont tous les pourcentages égaux à 0 et ne doivent certainement pas être pris en compte.

    Vous devez mettre en forme vos données pour pouvoir appliquer le programme pour tracer un histogramme cumulé.

    Par exemple :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    > df <- read.csv("D:/temp/traits.csv")
    > # On supprime les lignes où toutes les variables sont à 0
    > df <- (subset(df[,-1],Generaliste != 0 | Specialiste != 0))
    > # On calcule les moyennes par Culture et par Annee
    > df <- aggregate(. ~ Culture + Annee, data=df, mean)
    > # On génère des noms d'observations (lignes) qui deviendront des noms de variables (colonnes) lors de la transposition
    > row.names(df) <- paste(df$Culture,df$Annee,sep=".")
    > df <- df[,3:15]
    > df
                  Generaliste Specialiste  Carnivore Phytophage  Omnivore   taille1  taille2    taille3  taille4  taille5   Aptere Macroptere Dimorphique
    Ble1.2014       100.00000    0.000000  80.952381    0.00000 19.047619  1.587302 41.26984  17.738095 39.40476 0.000000 4.642857   59.00794   36.349206
    Ble2.2014        97.36111    2.638889  97.500000    0.00000  2.500000  7.202381 13.61111   8.750000 70.43651 0.000000 2.083333   24.72222   73.194444
    Feverole.2014    98.61111    1.388889  98.863636    0.00000  1.136364  0.000000 20.05051  78.813131  0.00000 1.136364 1.388889   97.47475    1.136364
    Luz1.2014        87.50000   12.500000  62.500000    0.00000 37.500000  0.000000 37.50000  50.000000 12.50000 0.000000 0.000000   87.50000   12.500000
    OrgePr.2014      76.33929   23.660714 100.000000    0.00000  0.000000 14.285714  9.37500  23.065476 53.27381 0.000000 0.000000   37.35119   62.648810
    ToLuz.2014      100.00000    0.000000  97.222222    0.00000  2.777778  0.000000  0.00000 100.000000  0.00000 0.000000 0.000000  100.00000    0.000000
    Ble2.2015        77.77778   22.222222  44.444444    0.00000 55.555556 22.222222 11.11111  47.222222 19.44444 0.000000 0.000000   88.88889   11.111111
    Colza.2015      100.00000    0.000000  62.444088   10.99075 26.565161  0.000000 30.83142  41.448395 27.72018 0.000000 0.000000   96.34836    3.651639
    Feverole.2015   100.00000    0.000000  88.072917    0.00000 11.927083  0.781250 26.45682  62.377050 10.38488 0.000000 0.000000   93.72971    6.270292
    Luz1.2015        97.80220    2.197802  60.732601    4.67033 34.597070  1.098901 11.33700  65.787546 19.57875 2.197802 0.000000   87.77473   12.225275
    Luz2.2015       100.00000    0.000000  13.333333    0.00000 86.666667  6.666667  0.00000  40.000000 53.33333 0.000000 0.000000   86.66667   13.333333
    ToLuz.2015       57.95918   42.040816  94.387755    0.00000  5.612245 30.136054 11.90476   7.142857 50.81633 0.000000 0.000000   42.89116   57.108844
    Ble1.2016        90.00000   10.000000  17.500000    0.00000 82.500000 10.000000  0.00000   0.000000 90.00000 0.000000 0.000000   92.50000    7.500000
    Ble2.2016       100.00000    0.000000   3.750000    0.00000 96.250000  0.000000  0.00000  19.583333 80.41667 0.000000 0.000000   96.25000    3.750000
    Luz1.2016       100.00000    0.000000 100.000000    0.00000  0.000000  0.000000  0.00000 100.000000  0.00000 0.000000 0.000000  100.00000    0.000000
    Luz2.2016       100.00000    0.000000  75.000000    0.00000 25.000000 25.000000 12.50000  37.500000 25.00000 0.000000 0.000000   75.00000   25.000000
    Orge.2016       100.00000    0.000000   4.897959    0.00000 95.102041  0.000000  0.00000  18.367347 81.63265 0.000000 0.000000   95.10204    4.897959
    ToLuz.2016      100.00000    0.000000  66.666667   33.33333  0.000000  0.000000 33.33333   0.000000 66.66667 0.000000 0.000000   33.33333   66.666667
    On peut faire un histogramme par trait :
    • Generaliste / Specialiste
    • Carnivore / Phytophage / Omnivore
    • taille1 / taille2 / taille3 / taille4 / taille5
    • Aptere / Macroptere / Dimorphique


    Dans cet exemple, on s'intéresse au régime alimentaire.

    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
    18
    19
    20
    21
    22
    > # On sélectionne les variables concernant le régime alimentaire
    > selec <- df[,3:5]
    > selec
                   Carnivore Phytophage  Omnivore
    Ble1.2014      80.952381    0.00000 19.047619
    Ble2.2014      97.500000    0.00000  2.500000
    Feverole.2014  98.863636    0.00000  1.136364
    Luz1.2014      62.500000    0.00000 37.500000
    OrgePr.2014   100.000000    0.00000  0.000000
    ToLuz.2014     97.222222    0.00000  2.777778
    Ble2.2015      44.444444    0.00000 55.555556
    Colza.2015     62.444088   10.99075 26.565161
    Feverole.2015  88.072917    0.00000 11.927083
    Luz1.2015      60.732601    4.67033 34.597070
    Luz2.2015      13.333333    0.00000 86.666667
    ToLuz.2015     94.387755    0.00000  5.612245
    Ble1.2016      17.500000    0.00000 82.500000
    Ble2.2016       3.750000    0.00000 96.250000
    Luz1.2016     100.000000    0.00000  0.000000
    Luz2.2016      75.000000    0.00000 25.000000
    Orge.2016       4.897959    0.00000 95.102041
    ToLuz.2016     66.666667   33.33333  0.000000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > # On transpose les données
    > selec <- as.data.frame(t(selec))
    > selec[,1:6]
                Ble1.2014 Ble2.2014 Feverole.2014 Luz1.2014 OrgePr.2014 ToLuz.2014
    Specialiste   0.00000  2.638889      1.388889  7.142857    23.66071    0.00000
    Carnivore    80.95238 97.500000     98.863636 35.714286   100.00000   72.91667
    Phytophage    0.00000  0.000000      0.000000  0.000000     0.00000    0.00000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #On peut maintenant tracer l'histogramme cumulé
    require(reshape)
    selec <- melt(cbind(selec, ind = rownames(selec)), id.vars = c('ind'))
     
    library(ggplot2)
    library(scales)
    ggplot(selec,aes(x = variable, y = value, fill = ind)) + 
        geom_bar(position = "fill",stat = "identity") +
        theme(axis.text.x = element_text(angle=90)) +
        scale_x_discrete(name="Culture.Annee") +
        scale_y_continuous(name="Pourcentage", labels = percent_format())+
        labs(fill="Régime\nalimentaire")
    Nom : Sans titre.jpg
Affichages : 2779
Taille : 60,2 Ko

    Cordialement,

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci infiniment pour cette réponse !
    Vos explications m'ont permis de tout comprendre, je vous remercie pour votre aide précieuse !
    Bonne journée à vous.

    Bien Cordialement

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

Discussions similaires

  1. Somme cumulative sur 12 mois glissant
    Par Ptij16 dans le forum Deski
    Réponses: 6
    Dernier message: 13/07/2007, 10h24
  2. Champ Cumul sur une table
    Par Faro dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 13/06/2007, 01h30
  3. cumul sur une table liée
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2006, 19h45
  4. Total Cumulé sur période glisante en CR9
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 12/07/2005, 15h07
  5. Cumul sur deux tables
    Par lper dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/11/2004, 15h02

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