Réorganiser les barres dans geom_bar ggplot2


119

J'essaie de créer un diagramme à barres où l'intrigue est ordonnée du miRNAplus élevé valueau plus miRNAbas. Pourquoi mon code ne fonctionne-t-il pas?

> head(corr.m)

        miRNA         variable value
1    mmu-miR-532-3p      pos     7
2    mmu-miR-1983        pos    75
3    mmu-miR-301a-3p     pos    70
4    mmu-miR-96-5p       pos     5
5    mmu-miR-139-5p      pos    10
6    mmu-miR-5097        pos    47

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
  geom_bar(stat="identity")

Réponses:


216

Votre code fonctionne bien, sauf que le barplot est ordonné de bas en haut. Lorsque vous souhaitez ordonner les barres de haut en bas, vous devrez ajouter un -signe avant value:

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
  geom_bar(stat = "identity")

qui donne:

entrez la description de l'image ici


Données utilisées:

corr.m <- structure(list(miRNA = structure(c(5L, 2L, 3L, 6L, 1L, 4L), .Label = c("mmu-miR-139-5p", "mmu-miR-1983", "mmu-miR-301a-3p", "mmu-miR-5097", "mmu-miR-532-3p", "mmu-miR-96-5p"), class = "factor"),
                         variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),
                         value = c(7L, 75L, 70L, 5L, 10L, 47L)),
                    class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))

il n'est pas commandé dans mon intrigue pour une raison quelconque
user3741035

@ user3741035 Étrange. L'avez-vous utilisé sur l'échantillon de données que vous avez fourni ci-dessus ou sur l'ensemble de données?
Jaap le

Quelle version de R & ggplot utilisez-vous? Pouvez-vous également offrir un plus grand échantillon de données (de préférence avec plus d'une valeur pour variable)?
Jaap le

6
trouvé la solution: j'avais chargé la bibliothèque (gplots) qui a gâché les choses
user3741035

1
@maycca Cela me donne le résultat correct (sur OSX 10.10.4 / Windows 7, R 3.2.3 et ggplot2 2.1.0). Peut-être devriez-vous commencer par une nouvelle session?
Jaap
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.