【发布时间】:2016-10-06 04:48:31
【问题描述】:
我有一个名为 ranges 的 df1,例如:
1 bin chrom chromStart chromEnd name score
2 12 chr1 836780 856723 -5.7648 599
3 116 chr1 1693001 1739032 -4.8403 473
4 117 chr1 1750780 1880930 -5.3036 536
5 121 chr1 2020123 2108890 -4.4165 415
我还有一个名为viable 的data.frame,例如:
chrom chromStart chromEnd N
chr1 840000 890000 1566
chr1 1690000 1740000 1566
chr1 1700000 1750000 1566
chr1 1710000 1760000 1566
chr1 1720000 1770000 1566
chr1 1730000 1780000 1566
chr1 1740000 1790000 1566
chr1 1750000 1800000 1566
chr1 1760000 1810000 1566
基本上,我在ranges 中有从 chromStart 到 chromEnd 的值范围。我还在 df2 viable 中有一个范围列表。 viable 中的范围要小得多。我想测试ranges 的范围,并确保整个范围都在viable 的范围内。我该怎么做?
我想要的输出是一个data.frame,比如:
1 bin chrom chromStart chromEnd name score
2 12 chr1 840000 856723 -5.7648 599
3 116 chr1 1693001 1739032 -4.8403 473
6 133 chr1 1750780 1880930 -4.8096 469
【问题讨论】:
-
data.table::foverlaps 或包 IRanges
-
为什么要重复发布?答案是here。不同的数字并不代表不同的问题。