【发布时间】:2019-05-24 14:21:29
【问题描述】:
给定一个数据表,其中包含整数序列的开始和结束坐标:
set.seed(1)
df1 <- data.table(
START = c(seq(1, 10000000, 10), seq(1, 10000000, 10), seq(1, 10000000, 10)),
END = c(seq(10, 10000000, 10), seq(10, 10000000, 10), seq(10, 10000000, 10))
还有一个整数向量:
vec1 <- sample(1:100000, 10000)
如何计算 vec1 中位于 df1 中每个序列的开始和结束坐标内的整数个数?我目前正在使用 for 循环:
COUNT <- rep(NA, nrow(df1))
for (i in 1:nrow(df1)){
vec2 <- seq(from = df1$START[i], to = df1$END[i])
COUNT[i] <- table(vec2 %in% vec1)[2]
print(i)
}
df1$COUNT <- COUNT
但是,我应用它的数据表和向量非常大?有人能提出提高性能的方法吗?
任何帮助将不胜感激!
【问题讨论】:
标签: r performance data.table