【问题标题】:Understanding hist() and break intervals in R [duplicate]了解 R 中的 hist() 和中断间隔
【发布时间】:2018-03-22 21:39:48
【问题描述】:

我最近开始使用 R,但我认为我不太了解 hist() 函数。我目前正在使用长度为 296 的数字向量,我想将它分成 10 个相等的间隔,并生成一个频率直方图以查看哪些值属于每个间隔。我认为hist(dataset, breaks = 10) 可以完成这项工作,但它却将其分成 12 个间隔。我显然误解了breaks 的作用。

如果我想在直方图中将数据分成 10 个区间,我应该怎么做?谢谢。

【问题讨论】:

    标签: r plot histogram


    【解决方案1】:

    根据documentation,如果你给breaks 参数一个数字,它会被视为一个建议,因为它给pretty 断点。如果你想强制它是 10 个等间距的 bin,最简单的可能是以下,

    x = rnorm(50)
    hist(x, breaks = seq(min(x), max(x), length.out = 11))
    

    长度应为n+1,其中n 是所需的箱数。

    【讨论】:

      【解决方案2】:

      如果你阅读help(hist)你会发现这个解释:

      中断:以下之一:

      • 给出直方图单元格之间断点的向量,

      • 计算断点向量的函数,

      • 给出直方图单元格数量的单个数字,

      • 一个字符串,命名一个算法来计算 单元格数量(参见“详细信息”),

      • 计算单元数的函数。

      在最后三种情况下,数字只是一个建议;作为 断点将设置为“漂亮”值,数字是 限于“1e6”(如果它更大,则会发出警告)。如果 “breaks”是一个函数,“x”向量作为 唯一的论点(而且中断的次数是有限的

      所以帮助明确指出,如果您为函数提供一个数字,它将仅用作建议。

      一种可能的解决方案是自己提供断点,如下所示:

      x <- rnorm(296)
      hist(x, breaks=c(-4,-3,-2,-1,0,1,2,3,4,5))
      

      如果您不想这样做,而是想指定垃圾箱的数量,您可以使用cut 函数

      plot(cut(x, 10))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-13
        • 2015-01-28
        • 1970-01-01
        • 1970-01-01
        • 2017-06-18
        相关资源
        最近更新 更多