【发布时间】:2017-09-24 07:26:05
【问题描述】:
我想获取一个介于多个范围之间的值的列表。
library(data.table)
values <- data.table(value = c(1:100))
range <- data.table(start = c(6, 29, 87), end = c(10, 35, 92))
我需要结果仅包含介于这些范围之间的值:
results <- c(6, 7, 8, 9, 10, 29, 30, 31, 32, 33, 34, 35, 87, 88, 89, 90, 91, 92)
我目前正在使用 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]))}
但是实际数据集非常大,我正在寻找一种更有效的方法。
欢迎提出任何建议!谢谢!
【问题讨论】:
标签: r range data.table subset