我有索引的矢量,它包含重复的值:矢量化环具有重复指数
IN <- c(1, 1, 2, 2, 3, 4, 5)
我想使用这些索引中减去两个向量:
ST <- c(0, 0, 0, 0, 0, 0, 0)
SB <- c(1, 1, 1, 1, 1, 1, 1)
然而,我想以“顺序”进行减法,使得在减去第一指标值(0,1)之后,第二减法将“构建”第一减法。我想用一个向量FN看起来像这样结束了:
c(-2, -2, -1, -1, -1, 0, 0)
这是很容易的做到了循环:
for(i in seq_along(IN)){
ST[IN[i]] <- ST[IN[i]] - SB[IN[i]]
}
但我需要运行这个循环多次长载体,这可能需要很多小时。有什么方法可以矢量化这个任务并避免for循环?也许使用data.table技术?
谢谢你的回应。我将不得不做一些测试,看看哪种方法对我的需求最快,但都能完成工作。 – ken