我有两个 data.tables 提供跨不同染色体(类别)的序列坐标。例如:
library(data.table)
dt1 <- data.table(chromosome = c("1", "1", "1", "1", "X"),
start = c(1, 50, 110, 150, 110),
end = c(11, 100, 121, 200, 200))
dt2 <- data.table(chromosome = c("1", "1", "X"),
start = c(12, 60, 50),
end = c(20, 115, 80))
我需要创建第三个 data.table,它为包含 dt1 中的所有整数的序列提供坐标,这些整数不与 dt2 中的序列中的任何整数重叠。例如:
dt3 <- data.table(chromosome = c("1", "1", "1", "1", "X"),
start = c(1, 50, 116, 150, 110),
end = c(11, 59, 121, 200, 200))
我需要运行它的 data.tables 非常大,因此我需要最大限度地提高性能。我曾尝试使用 foverlaps() 函数,但无济于事。任何帮助将不胜感激!