Я пытаюсь воссоздать функцию из Сумма первых n элементов вектора , но там, где это решение принимает аргумент для суммирования первых n элементов вектора, я хотел бы получить аргумент, который порог (включая значение по умолчанию), элементы суммируют до (или более).
После попытки различных for
и / или while
возможностей и поиска в StackOverflow я оказался здесь: неясно, как реализовать порог и установить n_elements
.
У меня есть эта логика c, которая возвращает 0
для данного вектора. Кажется, что часть n_elements = x[i] + 1
не верна.
theFunc <- function(x, threshold = 5){
n_elements = 0
while (sum(head(x)) < threshold){
n_elements = x[i] + 1
}
return(n_elements)
}
Вызов:
x <- c(0, 0, 1, 1, 2, 3, 6, 7)
theFunc(x)
[1] 0
Если входной сигнал такой же, как указано выше, и пороговое значение равно 5, функция должна вернуться 6 (количество элементов), потому что 0 + 0 + 1 + 1 + 2 + 3 = 7 и выше порога.