I have a df1 called ranges
like:
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
I also have a data.frame called viable
like:
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
Basically I have ranges of values from chromStart to chromEnd in ranges
. I also have a list of ranges in the df2 viable
. The ranges in viable
are much smaller. I want to test the ranges from ranges
and make sure that the full range falls within ranges that are viable
. How can I do this?
The output I want is a data.frame like:
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