我有一个长向量x,另一个v包含长度。 我想对x进行求和,使得答案y是长度为length(v)的向量,并且y[1]等于sum(x[1:v[i]]),y[2]等于sum(x[(1+v[1]):(v[1]+v[2])]),以此类推。本质上,这是从维度为length(x)的空间到维度为length(v)的空间执行稀疏矩阵乘法。但是,我希望不要使用“高级机器”,尽管我可能不得不这样做。它需要非常非常快。 有没有人能想到比使用稀疏矩阵软件包更简单的方法?
示例 -
示例 -
x <- c(1,1,3,4,5)
v <- c(2,3)
y <- myFunc(x,v)
y
应该是 c(2,12)
我可以进行任何预处理 - 例如,将每个连续区间的起始索引存储在变量v中。
1:v[i]
应该改为1:v[1]
吗? - Iterator