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 :

Bar plot d'abondances


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut Bar plot d'abondances
    Bonjour à tous , j'ai un petit soucis , je voudrais représenter des barplot pour représenter l’abondance de bacteries dans chaque
    échantillon, je vous montre un appercu du tableau de données que j'ai, j'ai 9 échantillons et 300 bactéries avec la proportion de chaque
    bactérie dans l’échantillon :

    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
    Taxons	trimmed-A1D1_S395_R1_001	trimmed-A2D1_S312_R1_001	trimmed-A3D1_S324_R1_001	trimmed-A4D1_S336_R1_001	trimmed-A5D1_S348_R1_001	trimmed-A6D1_S360_R1_001	trimmed-A7D1_S372_R1_001	trimmed-A8D1_S384_R1_001	trimmed-A9D1_S396_R1_001
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_graevenitzii	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_naeslundii	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_odontolyticus	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_oris	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_sp._oral_taxon_448	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_sp._oral_taxon_849	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_viscosus	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Mobiluncus;s__Mobiluncus_curtisii	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Bifidobacteriales;f__Bifidobacteriaceae;g__Bifidobacterium;s__Bifidobacterium_adolescentis	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Bifidobacteriales;f__Bifidobacteriaceae;g__Bifidobacterium;s__Bifidobacterium_animalis	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Bifidobacteriales;f__Bifidobacteriaceae;g__Bifidobacterium;s__Bifidobacterium_bifidum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Bifidobacteriales;f__Bifidobacteriaceae;g__Bifidobacterium;s__Bifidobacterium_longum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Bifidobacteriales;f__Bifidobacteriaceae;g__Bifidobacterium;s__Bifidobacterium_pseudocatenulatum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Corynebacteriaceae;g__Corynebacterium;s__Corynebacterium_accolens	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Corynebacteriaceae;g__Corynebacterium;s__Corynebacterium_glutamicum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Corynebacteriaceae;g__Corynebacterium;s__Corynebacterium_matruchotii	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Corynebacteriaceae;g__Corynebacterium;s__Corynebacterium_pseudogenitalium	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Corynebacteriaceae;g__Corynebacterium;s__Corynebacterium_tuberculostearicum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Dietziaceae;g__Dietzia;s__Dietzia_cinnamea	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Mycobacteriaceae;g__Mycobacterium;s__Mycobacterium_kansasii	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Mycobacteriaceae;g__Mycobacterium;s__Mycobacterium_parascrofulaceum	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Mycobacteriaceae;g__Mycobacterium;s__Mycobacterium_smegmatis	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Mycobacteriaceae;g__Mycobacterium;s__Mycobacterium_sp._360MFTsu5.1	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Mycobacteriaceae;g__Mycobacterium;s__Mycobacterium_tuberculosis	0	0	0	0	0	0	0	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Nocardiaceae;g__Rhodococcus;s__Rhodococcus_equi	5.72878304280219e-05	0	0	9.66108899795185e-06	0	0	1.67215691520492e-05	0	0
    k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Corynebacteriales;f__Nocardiaceae;g__Rhodococcus;s__Rhodococcus_erythropolis	0	0	0	0	0	0	0	0	0
    j'ai trouvé un tutoriel, il fallait importer tout le texte dans le read.table, tab<-read.table(head=T, sep="\t",quote=",text=" je copie tout le tableau ")

    j'ai une erreur : unexepecter numeric constant.

    Je vous remercie d'avance

  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 Import données
    Bonjour,

    Je ne comprends pas très bien la structure de vos données :
    • Sur la première ligne, les noms des variables sont séparées par des espaces.
    • Sur les lignes suivantes, les valeurs sont séparées par des points-virgules et il y a davantage de valeurs que de variables.


    Je vous conseille d'enregistrer vos données au format csv pour les importer dans R (fichier ci-joint) :

    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
    > df <- read.csv("D:/temp/test.txt")
    > str(df)
    'data.frame':   26 obs. of  16 variables:
     $ Taxon1                  : Factor w/ 1 level "k__Bacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon2                  : Factor w/ 1 level "p__Actinobacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon3                  : Factor w/ 1 level "c__Actinobacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon4                  : Factor w/ 3 levels "o__Actinomycetales",..: 1 1 1 1 1 1 1 1 2 2 ...
     $ Taxon5                  : Factor w/ 6 levels "f__Actinomycetaceae",..: 1 1 1 1 1 1 1 1 2 2 ...
     $ Taxon6                  : Factor w/ 7 levels "g__Actinomyces",..: 1 1 1 1 1 1 1 5 2 2 ...
     $ Taxon7                  : Factor w/ 26 levels "s__Actinomyces_graevenitzii",..: 1 2 3 4 5 6 7 19 8 9 ...
     $ trimmed.A1D1_S395_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A2D1_S312_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A3D1_S324_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A4D1_S336_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A5D1_S348_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A6D1_S360_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A7D1_S372_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A8D1_S384_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A9D1_S396_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
    Cordialement,
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mgdondon Voir le message
    Bonjour,

    Je ne comprends pas très bien la structure de vos données :
    • Sur la première ligne, les noms des variables sont séparées par des espaces.
    • Sur les lignes suivantes, les valeurs sont séparées par des points-virgules et il y a davantage de valeurs que de variables.


    Je vous conseille d'enregistrer vos données au format csv pour les importer dans R (fichier ci-joint) :

    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
    > df <- read.csv("D:/temp/test.txt")
    > str(df)
    'data.frame':   26 obs. of  16 variables:
     $ Taxon1                  : Factor w/ 1 level "k__Bacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon2                  : Factor w/ 1 level "p__Actinobacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon3                  : Factor w/ 1 level "c__Actinobacteria": 1 1 1 1 1 1 1 1 1 1 ...
     $ Taxon4                  : Factor w/ 3 levels "o__Actinomycetales",..: 1 1 1 1 1 1 1 1 2 2 ...
     $ Taxon5                  : Factor w/ 6 levels "f__Actinomycetaceae",..: 1 1 1 1 1 1 1 1 2 2 ...
     $ Taxon6                  : Factor w/ 7 levels "g__Actinomyces",..: 1 1 1 1 1 1 1 5 2 2 ...
     $ Taxon7                  : Factor w/ 26 levels "s__Actinomyces_graevenitzii",..: 1 2 3 4 5 6 7 19 8 9 ...
     $ trimmed.A1D1_S395_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A2D1_S312_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A3D1_S324_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A4D1_S336_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A5D1_S348_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A6D1_S360_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A7D1_S372_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A8D1_S384_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A9D1_S396_R1_001: int  0 0 0 0 0 0 0 0 0 0 ...
    Cordialement,
    Nom : Sans titre 2.png
Affichages : 386
Taille : 126,7 Ko

    voila comment se compose mon fichier j'ai mes echantillons en ligne et mes variables en colonne
    et je veux faire un barplot de la distribution de chaque bacterie(variable) dans chaque echantillon, donc chaque echantillon aura une barre avec
    à l'interieur le pourcentage de chaque espéce

  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 Import données
    Bonjour,

    Enregistrez votre fichier au format csv et vous pourrez l'importer correctement à l'aide de la fonction read.csv() ou read.csv2() en fonction de la configuration de votre ordinateur.

    Vérifiez que l'import s'est bien passé à l'aide de la commande str().

    Cordialement,

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    j'ai bien importé avec le read.csv , mais le soucis aprés pour faire les plot j'ai vu qu'il fallait
    mettre tout le texte dans " text=" et non pas importer le csv

  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 Import données
    Les fonctions read.table() et read.csv() permettent de charger des données dans un dataframe.

    Je ne suis pas sure de comprendre ce que vous voulez faire, mais s'il s'agit de faire un barplot par ligne de votre fichier Excel, vous pouvez regarder ici.

    Cordialement,

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    comment faire pour joindre le fichier csv, je n'arrive pas à le faire

  8. #8
    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 Fichier
    Il faut remplacer l'extension csv par txt et cliquer sur le trombone pour joindre un fichier.

    Pouvez-vous supprimer vos messages de l'autre discussion ?

    Merci.

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    IMG2.txtIMG2.txt voilà le fichier

  10. #10
    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 Import données
    Voici la commande pour importer votre fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    > tab <- read.table("D:/temp/IMG2.txt", head=T, sep="\t")
    > str(tab)
    'data.frame':   373 obs. of  10 variables:
     $ Taxons                  : Factor w/ 373 levels "k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Actinomyces;s__Actinomyces_graevenitz"| __truncated__,..: 1 2 3 4 5 6 7 8 9 10 ...
     $ trimmed.A1D1_S395_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A2D1_S312_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A3D1_S324_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A4D1_S336_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A5D1_S348_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A6D1_S360_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A7D1_S372_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A8D1_S384_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
     $ trimmed.A9D1_S396_R1_001: num  0 0 0 0 0 0 0 0 0 0 ...
    Cordialement,

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    bonsoir, Merci mais j'avais déjà fait ça correctement le soucis est de représenter
    les barplots , comme je vous l'avez montré dans la capture d’écran, j'ai vu sur un autre
    forum qu'il y avait un code mais en l'appliquant sur le mien ça ne marche pas,auriez vous
    une idée?

  12. #12
    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 Bar plot d'abondances
    Pouvez-vous indiquer le code que vous avez testé ?

    Merci.

  13. #13
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    # importer la table
     IMG<- read.table("IMG2.txt", head=T, sep="\t")
     
     
    # Convertir le format de données large en format long
    require(reshape2)
    IMG.long <- melt(df, id.vars="Taxon",
                    measure.vars=grep("CD\\d+", names(df), val=T),
                    variable.name="sample",
                    value.name="value")
     
    #calcul des proportions
    require(plyr)
    IMG.long <- ddply(IMG.long, .(sample), transform, value=value/sum(value))
     
    # ordonner les echantillons seulons leur identifiants    
    df.long$sample <- reorder(IMG.long$sample, as.numeric(sub("CD", "", IMG.long$sample)))
     
    # plot en utilisant ggplot
    require(ggplot2)
    ggplot(IMG.long, aes(x=sample, y=value, fill=Taxons)) + 
      geom_bar(stat="identity") +
      scale_fill_manual(values=scales::hue_pal(h = c(0, 360) + 15, # add manual colors
                                               c = 100, 
                                               l = 65, 
                                               h.start = 0, 
                                               direction = 1)(length(levels(df$Taxon))))

  14. #14
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    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
    18
    19
    20
    21
    22
    23
    24
    25
     
    df<-read.table("IMG2.txt",sep ="\t",header = T)
    # convert wide data format to long format
    require(reshape2)
    df.long <- melt(df, id.vars="Taxon",
                    measure.vars=grep("CD\\d+", names(df), val=T),
                    variable.name="sample",
                    value.name="value")
     
    # calcul des proportions
    require(plyr)
    df.long <- ddply(df.long, .(sample), transform, value=value/sum(value))
     
    # order samples by id     
    df.long$sample <- reorder(df.long$sample, as.numeric(sub("CD", "", df.long$sample)))
     
    # plot using ggplot
    require(ggplot2)
    ggplot(df.long, aes(x=sample, y=value, fill=Taxon)) + 
      geom_bar(stat="identity") +
      scale_fill_manual(values=scales::hue_pal(h = c(0, 360) + 15, # add manual colors
                                               c = 30, 
                                               l = 20, 
                                               h.start = 0, 
                                               direction = 1)(length(levels(df$Taxon))))
    excusez moi j'avais copié le mauvais code, voici le code final avec df comme data frame et j'ai modifié les noms des échantillons avec " CD1 jusque CD9" pour les neufs echantillons.

    voici la table finale IMG2.txt

  15. #15
    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 Bar plot d'abondances
    Bonjour,

    J'ai trouvé cette discussion qui correspond au type de graphique que vous souhaitez obtenir.

    J'ai adapté le programme à vos données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    tab <- read.table("D:/temp/IMG2.txt", head=T, sep="\t")
    row.names(tab) <- tab[,1]
    tab <- tab[,-1]
    tab <- as.data.frame(t(tab))
     
    require(reshape)
    tabm <- melt(cbind(tab, ind = rownames(tab)), id.vars = c('ind'))
     
    library(ggplot2)
    library(scales)
    ggplot(tabm,aes(x = variable, y = value,fill = ind)) + 
        geom_bar(position = "fill",stat = "identity") +
        scale_y_continuous(labels = percent_format())
    Nom : Sans titre.jpg
Affichages : 370
Taille : 66,0 Ko

    A vous de jouer pour la suite...

    Cordialement,
    Fichiers attachés Fichiers attachés

  16. #16
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Je vous remercie, en fait c'est le contraire que j'aimerais avoir en fait, c'est la proportion de chaque espéce dans chaque CD,
    là ce que j'ai c'est le contraire dans le code que vous m'avez donnée.

  17. #17
    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 Bar plot d'abondances
    Dans ce cas il ne faut pas transposer les données.

    Cordialement,

  18. #18
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 1
    Points
    1
    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
     
    tab <- read.table("D:/temp/IMG2.txt", head=T, sep="\t")
    row.names(tab) <- tab[,1]
    tab <- tab[,-1]
    tab <- as.data.frame(tab)
     
    require(reshape)
    tabm <- melt(cbind(tab, ind = rownames(tab)), id.vars = c('ind'))
     
    library(ggplot2)
    library(scales)
    ggplot(tabm,aes(x = value, y = variable,fill = ind)) + 
        geom_bar(position = "fill",stat = "identity")
        scale_y_continuous(labels = percent_format())
    le code final serait donc ça ?

Discussions similaires

  1. histograme verticale avec hist (sans plot ni bars)
    Par Misaki43 dans le forum Général Python
    Réponses: 0
    Dernier message: 01/07/2015, 21h50
  2. [Débutant] Bar plot 3D avec Y logarithmic scale
    Par TiroMat dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/04/2014, 14h34
  3. [Débutant] bar plot position
    Par catrina13 dans le forum MATLAB
    Réponses: 10
    Dernier message: 28/09/2013, 14h39
  4. Réponses: 4
    Dernier message: 15/02/2012, 12h41
  5. [Débutant] Legende avec la fonction bar et plot
    Par niepoc dans le forum MATLAB
    Réponses: 2
    Dernier message: 10/07/2008, 13h07

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