我正在寻找一个函数,它接受一个向量并不断删除第一个值,直到向量的总和小于20。返回剩余的值。
我尝试了for循环和while循环,但都找不到解决方案。
期望的输出应为:
我尝试了for循环和while循环,但都找不到解决方案。
vec <- c(3,5,3,4,3,9,1,8,2,5)
short <- function(vec){
for (i in 1:length(vec)){
while (!is.na((sum(vec)) < 20)){
vec <- vec[i+1:length(vec)]
#vec.remove(i)
}
}
期望的输出应为:
1,8,2,5
,小于20。
NA
,你现在可以查看更新后的答案。 - Ronak Shahtail(vec, - findInterval(0, cumsum(vec) - 20) - 1L)
... 这需要满足 vec >= 0。 - Frank