【发布时间】:2019-04-09 01:53:23
【问题描述】:
我想将用户定义函数的输出反馈给其输入(递归映射),运行此迭代 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?
【问题讨论】: