【发布时间】:2019-03-08 09:01:45
【问题描述】:
我有一个 R 函数来计算 logistic map,如下所示,使用 for 循环。但是有没有办法改变它(例如矢量化它)使其不使用循环?
logistic_map <- function(x, # starting condition
r, # rate parameter
N) { # number of iterations
results <- numeric(length = N + 1)
results[1] <- x
for (i in seq_len(N)) {
results[i + 1] <- r * results[i] * (1 - results[i])
}
data.frame(i = c(0, seq_len(N)),
x = results)
}
我查看了apply() 函数家族和purrr 中的函数,但我正在努力确定这是否可能。我很想得出这不可能的结论,因为每一步都完全依赖于前一步,但完全有可能有一个我无法找到的优雅解决方案。
我可以在没有 for 循环的情况下执行此操作吗?
【问题讨论】:
标签: r for-loop vectorization