web-dev-qa-db-fra.com

Histogrammes côte à côte dans le même graphique en R?

Cela devrait en fait être très simple, mais j'ai beaucoup de mal à trouver une solution à ce problème.

J'ai deux vecteurs numériques très simples dans R. J'essaie simplement de tracer un histogramme avec eux. Cependant, je voudrais qu'ils soient sur le même graphique. La partie délicate est que R chevauche ces deux histogrammes par défaut. J'aimerais que les bacs soient simplement côte à côte afin que je puisse obtenir une meilleure représentation visuelle des données.

En gros, c'est ce que je veux faire

enter image description here

Je suis relativement nouveau dans les langages R et de calcul statistique en général, donc j'apprécierais que vous répondiez à mon problème frustrant.

18
user2331197

L'exemple provient de l'utilisation du plotrixpackage. Le code a été trouvé ici . Vous devrez d'abord installer ce package avant de pouvoir accéder à la fonction multihist:

#install.packages("plotrix")
require(plotrix)

l <- list(rnorm(50),rnorm(50,sd=2),rnorm(50,mean=3))
multhist(l)

enter image description here

16
Marc in the box

Voici la version ggplot de ce graphique.

require(ggplot2)
require(reshape2)

set.seed(1)
df <- data.frame(x = rnorm(n = 1000, mean = 5, sd = 2),
                 y = rnorm(n = 1000, mean = 2),
                 z = rnorm(n = 1000, mean = 10))



ggplot(melt(df), aes(value, fill = variable)) + geom_histogram(position = "dodge")

enter image description here

11
dickoa