- 论坛徽章:
- 0
|
本帖最后由 newfinder 于 2014-10-11 15:55 编辑
回复 12# Kasiotao
大侠,最近我用你提供的代码在分析做我的数据,可是发现结果有点不太像我想要的,我自已试着改,但基础太弱,改了半天,连原来的都出不来了。所以现在还想请大侠帮帮忙,看怎么调整一下,可以输出我想要的。还是以原来的数据为例,不过标红的地方是与之前有所不同的。
data1的内容如下:
name1 range1:1-4 4
name1 range1:7-11 5
name2 range1:13-16 4
name2 range1:20-25 6
name2 range2:3-4 2
name1 range2:10-15 6
name1 range2:18-23 6
name1 range2:25-29 5
name2 range3:5-9 5
name2 range3:11-15 5
name1 range3:18-22 5
…………
data2的内容如下:
name1 range1:1-3 3
name1 range1:4-6 3
name2 range1:17-19 3
name1 range1:21-24 4
name2 range1:26-28 3
name1 range2:4-6 3
name2 range2:8-9 2
name1 range2:12-16 5
name2 range2:26-28 3
name2 range3:3-6 4
name2 range3:10-12 3
…………
想根据第二列的数据输出这两个数据集的共同区域及差异区域。
共同区域定义的标准为:只要有一个数字重叠就为一个共同区域,如1-2、2-3就为一个共同区域
差异区域定义的标准为:没有一个数字重叠
按照这个标准来做的话,上面的这两个数据集的结果应该为:
data1_diff:
name1 range1:7-11 5
name2 range1:13-16 4
name1 range2:18-23 6
naem1 range3:18-22 5
data2_diff:
name2 range1:17-19 3
name2 range1:26-28 3
name2 range2:8-9 2
两个数据集共同的区域为:
data_comm:
name1 range1:1-4,1-3,4-6 4,3,3
name2,name1 range1:20-25,21-24 6,4
name2,name1 range2:3-4,4-6 2,3
name1,name2 range2:25-29 26-28 5,3
name1 range2:10-15,12-16 6,5
name2 range3:5-9,3-6 5,4
name2 range3:11-15,10-12 5,3
(标红的是想要得到的格式,而我现在的结果都是
name2 range1:17-19,26-28 3,3 和
name2,name1,name1,name2 range2:3-4,4-6,25-29 26-28 2,3,5,3
name2 range3:5-9,3-6 11-15,10-12 5,4,5,3)
就是想要分开来,还请大侠帮帮忙,谢谢了
谢谢了
|
|