2017-10-26 3 views
-2

数値のリストを取得する関数です。関数は、新しい要素の合計が42Rの基本機能ができません

+1

よりも小さくなるように、そのリストの最初のx要素を返す必要がありますが、これまでに試してみました何 –

+3

はSO、ツアーに参加ミズーリ州くださいへようこそ私たちをご提示くださいhttps://stackoverflow.com/tour – Suren

+1

また、「宿題に関する質問と回答の方法」(https://meta.stackoverflow.com/q/334822/4752675)をご覧ください。 – G5W

答えて

0
list <- list(1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10) 
list 

get_elements_func <- function(list, max){ 

    sum_vector <- 0 

    for(i in 1:length(list)){ 

     sum_vector <- rbind(sum_vector, list[[i]]) 

     if(sum(sum_vector) >= max){ 

      i <- i - 1 
      break 
     } 
    } 

    return(list[1:i]) 
} 

get_elements_func(list, 42) 
+0

私は質問が "数字のリスト "しかし、おそらく単なるベクトルではなく、'リスト 'と思われる。その場合、リストが過度に複雑になると思われる回答です。 – Marius

+0

私のコードは 'rbind(sum_vector、list [i])'(つまり一括ブラケットサブセッティング)に変更するだけでベクトル上で動作します – BigTimeStats

+2

あなたは 'cumsum'を再開発しました。 – thelatemail

関連する問題