【发布时间】:2021-03-10 22:54:13
【问题描述】:
我有一个简单的数据框,其中指定了列表中的开始和结束位置。这些开始和结束位置定义了 i 个区域。现在我想测试给定位置是否在这样的区域内,如果是,我需要知道在哪个区域 (i)。
这是一个简单的示例数据框:
start <- list(c(5,10,15), c(5) ,c(6,11),c(6,11))
end <- list(c(7,11,17), c(10), c(8,12),c(8,12))
imax <- c(3,1,2,2)
position <- c(11,6,9,8)
example <- data.frame(start = I(start), end = I(end), imax = imax, position = position)
当我只有一个开始和结束位置时,没问题(如示例的第 2 行):
data.table::between(example$position[[1]], example$start[[1]], example$end[[1]])
[1] FALSE TRUE FALSE
我怎样才能把它变成一个函数,对 example$start 和 example$end 中的每个元素(从 i=1 到 i=max)进行成对检查?
第二步是检索哪个区域 i(1 到 imax)这是 TRUE。
谢谢。
【问题讨论】: