for循环和R中的函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环和R中的函数相关的知识,希望对你有一定的参考价值。
我对R来说是全新的并且不太了解。如果有人能帮我解决,我真的很感激。这是我第二天尝试使用不同的代码解决这个问题,但无法得到任何答案。我知道还有一些与此相关的问题。我检查过每个人但仍然无法理解。请不要将其标记为副本并提供答案。我真的很感激。
所以基本上我必须创建一个函数和(n),它返回一个向量,其中第一个数字的Fibonacci序列作为元素。
我知道斐波那契。所以首先我创建了一个vactor:
x<-c(1, 1)
然后我用这个命令:
ans<-function(n){
for(i in x){
return(x[n-1]+x[n-2])
}}
我哪里错了?
答案
在返回之前,您需要在向量中存储值。
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
另一答案
而不是qazxsw poi循环,Fibonacci序列的定义特别适用于递归函数实现。
for
你可以制作这个# Calculate Fibbonacci term x
fib.x <- function(x) {
if (x <= 1) return(x) else return(fib.x(x - 1) + fib.x(x - 2))
}
# Return the Fibbonacci sequence of length n
fib <- function(n) sapply(1:n, fib.x)
fib(9)
#[1] 1 1 2 3 5 8 13 21 34
。
以上是关于for循环和R中的函数的主要内容,如果未能解决你的问题,请参考以下文章