'Relative frequency histogram in R, ggplot
I can draw relative frequency histogram in R, using lattice
package:
a <- runif(100)
library(lattice)
histogram(a)
I want to get the same graph in ggplot
. I tried
dt <- data.frame(a)
ggplot(dt, aes(x = a)) +
geom_bar(aes(y = ..prop..))+
scale_y_continuous(labels=percent)
but it doesn't work like that. What I should change in the code? Calculating relative frequency before graph is not an option for me.
Solution 1:[1]
You want a histogram, not a barplot, so:
ggplot(dt, aes(x = a)) +
geom_histogram(aes(y = after_stat(count / sum(count))), bins = 8) +
scale_y_continuous(labels = scales::percent)
lattice
:
ggplot2
:
You can see that the binning algorithm works slightly different for the two packages.
Solution 2:[2]
You can try something like :
ggplot(data=df, aes(x=a)) + geom_bar(aes(y = (..count..)/sum(..count..)), group = 1)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | S.Gradit |