Ho una domanda molto semplice che mi fa sbattere la testa contro il muro.Normalizzazione dell'asse y negli istogrammi in R ggplot in proporzione
Vorrei ridimensionare l'asse y del mio istogramma in modo che rifletta la proporzione (da 0 a 1) che ogni scomparto compila, invece di avere l'area delle barre sommata a 1, come usando y = .. densità .. fa, o avendo la barra più alta essere 1, come y = .. ncount .. fa.
mio input è una lista di nomi e valori, formattato in questo modo:
name value
A 0.0000354
B 0.00768
C 0.00309
D 0.00
Uno dei miei tentativi falliti:
library(ggplot2)
mydataframe < read.delim(mydata)
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(x=value,y=..density..))
Questo mi dà un istogramma con zona 1, ma altezze di 2000 e 1000:
e y = .. nCount. . Mi dà un istogramma con bar più alto 1.0 e resto scalato ad esso:
ma desidero avere la prima barra hanno un'altezza di 0,5, e gli altri due 0,25.
R non riconosce questi usi di scale_y_continuous.
scale_y_continuous(formatter="percent")
scale_y_continuous(labels = percent)
scale_y_continuous(expand=c(1/(nrow(mydataframe)-1),0)
Grazie per qualsiasi aiuto.
Questo è esattamente quello che stavo cercando. Mi fai sentire un idiota e ti sono davvero grato! –
Non avevo idea che fosse possibile fare qualcosa del genere. Grazie a questo suggerimento sono in grado di produrre un istogramma di sopravvivenza/affidabilità (cioè 1-CDF) usando 'aes (y = 1-cumsum (.. count ..)/sum (.. count ..))'. – dnlbrky