首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的后勤地图R函数出了什么问题

我的后勤地图R函数出了什么问题
EN

Stack Overflow用户
提问于 2018-09-29 21:15:40
回答 1查看 84关注 0票数 1

我目前正在学校学习R,我被这个问题困住了:

这是我的密码:

代码语言:javascript
复制
logistic.map <- function(N0, r, K, tmax) {
  length(N) <- tmax
  N[1] <- N0
  for (i in 1:tmax) N[i+1] <- N[i] + r * N[i] * (1 - N[i] / K)
  return(list(t = 0:tmax, N = tmax))
  }

r1 <- logistic.map(2,0.2,100,50)
r2 <- logistic.map(2,2.2,100,50)
r3 <- logistic.map(2,2.9,100,50)

xlab="Years"
ylab="Population"
plot(r1$t, r1$N, xlab=xlab, ylab=ylab)
plot(r2$t, r2$N, xlab=xlab, ylab=ylab)
plot(r3$t, r3$N, xlab=xlab, ylab=ylab)

每当我运行它时,它都会返回错误:

代码语言:javascript
复制
Error in logistic.map(2, 0.2, 100, 50) : object 'N' not found
Error in logistic.map(2, 2.2, 100, 50) : object 'N' not found
Error in logistic.map(2, 2.9, 100, 50) : object 'N' not found

有人能帮我找出我做错了什么吗?非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-29 21:22:16

在函数中初始化输出向量的方法是不正确的。使用N <- numeric(tmax + 1)而不是length(N) <- tmax。R中的向量使用基于1的索引,而不是基于0的索引.

对于返回的值,请使用return(list(t = 0:tmax, N = N))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52572606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档