gpt4 book ai didi

r - R中的for循环简单,在R中产生 "replacement has length zero"

转载 作者:行者123 更新时间:2023-12-04 10:00:58 24 4
gpt4 key购买 nike

我是R的新手,因此在C和Python中看起来不错的东西在R中令人惊讶地崩溃了。
我正在尝试计算前1000个斐波纳契数的乘积。这是完整的代码:

#PRRODUCT OF FIBONACCI NUMBERS
Fibonacci<-rep(0, 1000)
Fibonacci[0]<-1
Fibonacci[1]<-1
Product<-1

for (i in 2:1000)
{
Fibonacci[i]<-(Fibonacci[i-1])+(Fibonacci[i-2])
Product<-Fibonacci[i]*Product
}

Fibonacci[1000]
Product

这将返回以下错误:
Error in Fibonacci[i] <- (Fibonacci[X - 1]) + (Fibonacci[X - 2]) : 
replacement has length zero

我倾向于认为我对数组的不同元素有误解(也许矢量描述中的i-2不正确),但是在过去的一个半小时里我没有发现任何东西可以帮助我纠正它。
因此,对于造成问题的原因的任何见解都将受到极大的赞赏。

先感谢您。

最佳答案

R中的数组基于1。

Fibonacci[1]<-1
Fibonacci[2]<-1
Product<-1
for (i in 3:1000)
{

(其余与您的问题相同)

问题是 Fibonacci[0],它是一个长度为0的数字。当为 i = 2时,此表达式的右侧为 numeric(0):
Fibonacci[i]<-(Fibonacci[i-1])+(Fibonacci[i-2])

关于r - R中的for循环简单,在R中产生 "replacement has length zero",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17665164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com