Use hist() function in R to get percentages as opposed to raw frequencies

newdev14 picture newdev14 · Sep 6, 2011 · Viewed 89.8k times · Source

How can one plot the percentages as opposed to raw frequencies using the hist() function in R?

Answer

Brian picture Brian · Feb 3, 2012

Simply using the freq=FALSE argument does not give a histogram with percentages, it normalizes the histogram so the total area equals 1.
To get a histogram of percentages of some data set, say x, do:

h = hist(x) # or hist(x,plot=FALSE) to avoid the plot of the histogram
h$density = h$counts/sum(h$counts)*100
plot(h,freq=FALSE)

Basically what you are doing is creating a histogram object, changing the density property to be percentages, and then re-plotting.