这是我的数据结构。
# id1 id2 len start end
# 9 16792 5475 4181 4232
# 11 16792 2317 1086 1137
# 11 32879 2317 8 60
# 11 32858 2317 10 52
# 11 30670 2317 17 63
# 14 12645 532 3 67
# 14 12645 532 158 222
# 14 11879 532 3 223
# 18 23847 644 64 285
# 18 30160 644 98 285
# 18 30160 644 345 477
# 18 30160 644 516 644
我想根据id1的长度(列len)获取id1的覆盖范围,并考虑所有条目的开始和结束值。
问题在于多个条目可以具有并列的值,因此考虑所有条目中的值会高估覆盖率。同样考虑最小的起始值和最大的终止值并不能解决所有问题,因为在没有表示所有长度的地方可能存在间隙。
另外,对于所包含的每个实体,我需要加1,以便说明整个覆盖范围。
我的预期结果应该是这样
9 = 51 / 5475 = 0.009
11 = 108 / 2317 = 0.047
14 = 221 / 532 = 0.415
18 = 484 / 644 = 0.75