【问题标题】:R, how to narrow down a histogram domain?R,如何缩小直方图域?
【发布时间】:2012-03-29 15:41:21
【问题描述】:

我一直在使用 R 语言,我通过这种方式从数据文件创建了直方图:

a

b

c

hist(c, 100);

这是结果,在附图中:

Histogram http://www.imagehost.it/dm/FILK/istogrammaBis.png

我的问题是我想排除直方图的第一条。

你知道执行此操作的 R 命令吗?

感谢

【问题讨论】:

    标签: r histogram


    【解决方案1】:

    hist 使用 'Sturges' 中断(由nclass.Sturges 确定的等间距数字)作为默认中断位置,但您忽略了它。第二个中断值是

    seq( min(x), max(x), by= diff(range(x))/10 )[2]

    所以:

    hist(c[ c >= seq( min(c), max(c), by= diff(range(c))/10 )[2], 9 ] )
    

    我减少了垃圾箱的数量以保持类别相同。如果您想查看默认中断数的公式,只需键入:

    nclass.Sturges
    

    发现人们对hist 的行为感到困惑的情况并不少见。因为结果看起来不规则。试试:

    hist(0:8)
    

    【讨论】:

    • Thanx,但在您的示例中,x 代表什么?是我的吗?
    • 对。会修复。 (虽然“c”是一个非常糟糕的变量名选择。)
    • 感谢您的回答,我意识到人们也可以操纵中断来调整直方图,而无需删除数据,例如hist(x, breaks=seq(min(x),max(x),by=1 ),这总是很高兴知道。
    【解决方案2】:

    CRAN 上的 HistogramTools 包提供了许多简单的辅助函数,用于从直方图中删除 bin 或缩小直方图域。例如,请参阅 SubsetHistogramTrimHistogram 函数。

    假设我们有这个初始直方图:

    hist.1 <- hist(runif(100,min=2,max=4), breaks=seq(0,6,by=.2), plot=FALSE)
    

    我们可以像这样使用TrimHistogram 修剪空桶:

    hist.trimmed <- TrimHistogram(hist.1)
    

    我们可以使用SubsetHistogram 函数进一步指定最大或最小断点以排除直方图左侧或右侧的 bin(缩小原始海报术语中的域),如下所示:

    plot(SubsetHistogram(hist.trimmed, 2.2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 2022-06-14
      相关资源
      最近更新 更多