Я хотел бы передать выходные данные пользовательской функции обратно на вход (рекурсивное отображение), выполнить эту итерацию N раз и сохранить выходные данные каждой итерации в векторе. Это просто сделать с помощью цикла for
my_fun <- function(x) {x/3 +1} # a user-defined function (trivial example)
my_l <- c()
x <- 0 # initial condition
for(i in 1:10) {
x <- my_fun(x)
my_l[i] <- x
}
print(my_l)
>[1] 1.000000 1.333333 1.444444 1.481481 1.493827 1.497942 1.499314 1.499771 1.499924 1.499975
Выше работает, но кажется грубым Есть ли более короткий способ сделать это? Возможно, с Tidyverse / purrr?