我有一个 R 函数来使用 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)
}
Run Code Online (Sandbox Code Playgroud)
我已经研究了apply()函数族和 中的函数purrr,但我正在努力确定这是否可能。我很想得出这样的结论:这是不可能的,因为每一步都完全依赖于前一步,但完全有可能有一个我无法找到的优雅解决方案。
我可以在不使用 for 循环的情况下执行此操作吗?