我想得到一个介于多个范围之间的值列表.
library(data.table)
values <- data.table(value = c(1:100))
range <- data.table(start = c(6, 29, 87), end = c(10, 35, 92))
Run Code Online (Sandbox Code Playgroud)
我需要结果只包含介于这些范围之间的值:
results <- c(6, 7, 8, 9, 10, 29, 30, 31, 32, 33, 34, 35, 87, 88, 89, 90, 91, 92)
Run Code Online (Sandbox Code Playgroud)
我目前正在使用for循环,
results <- data.table(NULL)
for (i in 1:NROW(range){
results <- rbind(results,
data.table(result = values[value >= range[i, start] &
value <= range[i, end], value]))}
Run Code Online (Sandbox Code Playgroud)
但实际数据集非常大,我正在寻找一种更有效的方法.
任何建议表示赞赏!谢谢!