R-将重叠部分添加为列而不是行

时间:2018-12-01 21:21:21

标签: r dataframe overlap genetics

我正在用两个文件处理一些遗传数据。一种是实验数据,另一种是参考数据。这两个文件都具有染色体号,起始位置,终止位置的基本格式,但是其中一个具有族列。我想使用染色体,实验数据的开始和结束作为查找与第二组重叠的关键。目的是使每次出现重叠时,我都可以将姓氏添加到实验数据行中。我可以这样做,但是问题是,有57个观测值的列表变成了700多个观测值的列表,因为在许多情况下,实验的开始/停止范围足够大,可以捕获多个族。我认为,与其增加唯一的区别是家庭的观察总数,不如在现有实验数据行的末尾添加许多家庭(通常为1-2,但可变)可能更合适。

我不太擅长创建伪数据,但这应该可以使设置看起来正确:

test1 = data.frame(Chrom = c(1:5),Start = c(1000,2000,3000,4000,5000),End=c(1999,2999,3999,4999,5999))
test2 = data.frame(Chrom = c(2,2,5),Start = c(1500,3500,1050),End=c(2500,4000,1060),Family=c("ThingA","ThingB","ThingC"))

我认为最佳解决方案的观察总数应等于test1中的观察数,但在给定范围内,其列数应等于test2的最大重叠数。

0 个答案:

没有答案