首页 > 解决方案 > R for 中的 for 循环和函数

问题描述

我对 R 完全陌生,知道的不多。如果有人可以帮助我解决它,我将不胜感激。这是我第二天尝试对这个问题使用不同的代码但无法得到任何答案。我知道还有一些与此相关的其他问题。我已经检查了每个人,但仍然无法理解。请不要将其标记为重复并提供答案。我真的很感激。

所以基本上我必须创建一个函数 ans(n),它返回一个向量,其中包含斐波那契数列的前 n 个数字作为元素。

我知道斐波那契。所以为此我首先创建了一个 vactor:

x<-c(1, 1)

然后我使用了这个命令:

 ans<-function(n){
 for(i in x){
 return(x[n-1]+x[n-2])
 }}

我哪里错了?

标签: rstatistics

解决方案


您需要在返回向量之前将值存储在向量中。

x = c(1, 1)

ans <- function(n) {
    for(i in 3:n) {
        x = c(x, x[i-1]+x[i-2])
    }
    return(x)
}

输出 :

ans(9)
[1]  1  1  2  3  5  8 13 21 34

推荐阅读