【发布时间】:2015-06-22 11:29:05
【问题描述】:
如何在 R 中获得类似于直方图的区间数据摘要?
我的 MWE 数据有四个区间。
interval range
Int1 2-7
Int2 10-14
Int3 12-18
Int4 25-28
我想要一个类似直方图的函数,它计算间隔 Int1-Int4 如何跨越固定大小的 bin 的范围。 函数输出应如下所示:
bin count which
[0-4] 1 Int1
[5-9] 1 Int1
[10-14] 2 Int2 and Int3
[15-19] 1 Int3
[20-24] 0 None
[25-29] 1 Int4
这里的范围是 [minfloor(Int1, Int2, Int3, Int40), maxceil(Int1, Int2, Int3, Int4)) = [0,30) 并且有六个大小 = 5 的 bin。
我将非常感谢任何指向实现我想要的功能的 R 包或函数的指针。
更新:
到目前为止,我有一个来自 IRanges 包的解决方案,它使用称为 NCList 的快速数据结构,根据用户,它比间隔搜索树更快。
> library(IRanges)
> subject <- IRanges(c(2,10,12,25), c(7,14,18,28))
> query <- IRanges(c(0,5,10,15,20,25), c(4,9,14,19,24,29))
> countOverlaps(query, subject)
[1] 1 1 2 1 0 1
但我仍然无法获得重叠的范围。如果我通过会更新。
【问题讨论】:
-
你试过
table吗? -
我尝试了 table,但无法超越查询每个范围端点的简单实现,即如果 j>k 和 i
stackoverflow.com/questions/4446112/…) -
您的预期输出是否基于输入示例?我会尝试
cut和breaks -
我如何让'cut'在间隔上工作?我的印象是“剪切”适用于向量。 (抱歉格式不好。)
标签: r statistics histogram