Le mie domande sono simili a Normalizing y-axis in histograms in R ggplot to proportion ma mi piacerebbe aggiungervi un po '.Normalizzare gli istogrammi sfaccettati separatamente in ggplot2
In generale, ho 6 istogrammi in un design a sfaccettatura 2x3 e desidero normalizzarli separatamente. Cercherò di fare un campione di dati impostati qui per dare un'idea:
hvalues=c(3,1,3,2,2,5,1,1,12,1,4,3)
season=c("fall","fall","fall","fall","winter","winter","winter","winter","summer","summer","summer","summer")
year=c("year 1","year 1","year 2","year 2","year 1","year 1","year 2","year 2","year 1","year 1","year 2","year 2")
group=c("fall year 1","fall year 1","fall year 2","fall year 2","winter year 1","winter year 1","winter year 2","winter year 2","summer year 1","summer year 1","summer year 2","summer year 2")
all=data.frame(hvalues,season,year)
Utilizzando
ggplot(all, aes(x=hvalues,group=group)) +
geom_histogram(aes(y=..count../sum(..count..))) +
facet_grid(season ~ year)
dà le proporzioni complessiva (vale a dire che combina tutte le sfaccettature). Mi piacerebbe che ogni aspetto del gruppo fosse normalizzato a 1. Gli hvalues non sono numeri interi nei miei dati reali: sono numerici.
Sono un principiante che usa R e apprezzerei davvero un po 'di aiuto. Grazie in anticipo!
Provare 'y = ..densità..'. – joran
'all' deve essere un dataframe. Prova 'all <- as.data.frame (cbind (hvalues, season, year))'. – JT85
@ JT85 Sono d'accordo, ma per favore non incoraggiare l'uso di 'as.data.frame (cbind (...))' al posto di 'data.frame (...)'. – joran