2013-04-29 4 views
13

Questo dovrebbe essere davvero semplice, ma sto avendo davvero difficoltà a trovare una soluzione a questo problema.Istogrammi affiancati nello stesso grafico in R?

Ho due semplici vettori numerici in R. Sto semplicemente cercando di tracciare un istogramma con loro. Comunque mi piacerebbe che fossero sullo stesso grafico. La parte difficile è che R si sovrappone a questi due istogrammi per impostazione predefinita. Vorrei che i contenitori fossero semplicemente affiancati in modo da ottenere una migliore rappresentazione visiva dei dati.

Fondamentalmente questo è ciò che voglio fare

enter image description here

Sono abbastanza nuovo per lingue calcolo statistico R e, in generale, così sarei grato se volesse rispondere il mio problema frustrante.

risposta

14

L'esempio deriva dall'utilizzo del pacchetto plotrix. Il codice è stato trovato here. Per prima cosa è necessario installare il pacchetto prima di poter accedere alla funzione multihist:

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

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

enter image description here

9

ecco la versione ggplot di questo grafico.

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

+0

questo un altro modo per farlo, ma non è esattamente ciò che il PO sta cercando. –

+2

@Jiber Hai ragione, grazie. Ma l'OP diceva "Vorrei che i contenitori fossero semplicemente uno accanto all'altro così da ottenere una migliore rappresentazione visiva dei dati", quindi c'è spazio per proporre una visualizzazione simile. – dickoa

+0

Penso che il passaggio a 'geom_freqpoly' potrebbe essere ancora più efficace. – hadley