У меня возникли проблемы с написанием функции, которая вызывает другую функцию и использует выходные данные в качестве основы для запуска нового анализа в цикле (или аналогичном). Например, предположим, что функция 1 создает этот вывод: 10. Вторая функция возьмет это как отправную точку для запуска нового анализа. Единственная точка данных из второго вывода затем станет основой для следующего раунда анализа и так далее.
Вот простой пример. Вопрос в том, как создать цикл for для этого. Или, возможно, есть более эффективный способ использования lapply. В любом случае первая функция может быть следующей:
f.1 <-function(x) {
x
a <-seq(x,by=1,length.out=5)
a.1 <-tail(a,1)
}
Вторая функция, которая вызывает первую функцию, может работать следующим образом:
f.2 <-function(x) {
f.1 <-function(x) {
a <-seq(x,by=1,length.out=5)
a.1 <-tail(a,1)
}
z <-f.1(x)
y=z+1
seq(y,by=1,length.out=5)
}
Как я могу изменить f.2(), чтобы он повторно запускал это вычисление, используя предыдущий вывод в качестве основы для следующего раунда анализа. Если быть точным, f.1(10) выводит:
[1] 14
В свою очередь, f.2(10) приводит к:
[1] 15 16 17 18 19
Как я могу переписать f.2() так, чтобы он автоматически вычислял f.2(19) на следующей итерации и постоянно делал это в течение нескольких циклов. В процессе я хотел бы собрать результаты в отдельный файл для просмотра. Спасибо большое!
Reduce
. - person IRTFM   schedule 09.10.2014