使用for if循环将列表中的元素添加到一起并与数字进行比较,a

时间:2015-08-10 01:05:12

标签: r

所以我给了这个问题,写一个R函数,给定一个向量x和一个值a,找到n的最小值,使得x的前n个元素的总和大于a,或者NA没有这样的n存在,使用for循环。

nloop=function(x,a){
sum=0
  for (i in 1:length(x))
sum = sum + x[i]
if (sum>a)
  end=x[i]
end

}

但这总是给我矢量中的最后一个值?

1 个答案:

答案 0 :(得分:1)

试试这个:

nloop=function(x,a){
  sum=0
  for (i in 1:length(x)){
    sum = sum + x[i]
  if (sum>a){
    ends=x[i];break}
  }
  ends
}