Exact number of bins in Histogram in R

后端 未结 5 1055
Happy的楠姐
Happy的楠姐 2020-12-01 08:24

I\'m having trouble making a histogram in R. The problem is that I tell it to make 5 bins but it makes 4 and I tell to make 5 and it makes 8 of them.

data &l         


        
相关标签:
5条回答
  • 2020-12-01 08:49

    Building on the answer from Rob Hyndman:

    Maybe a more generic solution would be to make the breaks considering the minimun and maximun values of the data, and the number of breaks = number_of_bins+1.

    hist(data,breaks=seq(min(data),max(data),l=number_of_bins+1), 
         freq=FALSE,col="orange",
         main="Histogram",xlab="x",ylab="f(x)",yaxs="i",xaxs="i")
    
    0 讨论(0)
  • 2020-12-01 09:03

    The integer specified as argument for nclass is used as a suggestion:

    the number is a suggestion only

    An alternative solution is to cut your vector into a specified number of groups and plot the result:

    plot(cut(data, breaks = 4))
    

    enter image description here

    0 讨论(0)
  • 2020-12-01 09:04

    Use the breaks argument:

    hist(data, breaks=seq(0,80,l=6),
           freq=FALSE,col="orange",main="Histogram",
           xlab="x",ylab="f(x)",yaxs="i",xaxs="i")
    

    enter image description here

    0 讨论(0)
  • 2020-12-01 09:10

    If you are not opposed to using something other than base graphics, there is always the ggplot2 way of doing things:

    library(ggplot2)

    data <- data.frame(x=data)

        ggplot(data, aes(x=x))+
          geom_histogram(binwidth=18,color="black", fill="grey")+
          scale_x_continuous(breaks=c(0,20,40,60,80)
    

    ggplot2 has great documentation at: https://ggplot2.tidyverse.org/

    For histogram specific examples: https://ggplot2.tidyverse.org/reference/geom_histogram.html

    0 讨论(0)
  • 2020-12-01 09:15

    I like to be quite accurate about my data points:

    hist(data,breaks = seq(min(data),max(data),by=((max(data) - min(data))/(length(data)-1))))
    

    This should automate the process with little manual input.

    0 讨论(0)
提交回复
热议问题