r - 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])
}}
我哪里错了?
解决方案
您需要在返回向量之前将值存储在向量中。
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
推荐阅读
- javascript - Axios.all:如何使用同义词库 API 让我的搜索栏在其搜索结果中包含输入词的同义词?
- java - 如何在 Android 的默认图像查看器中打开图像
- ajax - 在 Ajax Post 中确定模型类型
- drm - PlayReady DRM 请求 sspk 或 mss 哈希密钥
- server - 如果负载均衡器 ping 死服务器,之前的请求会发生什么情况?我们如何避免丢失发送到死服务器的请求?
- javascript - 对象或数组或两者
- scala - 按不同 ID 分组并通过 map 或 foreach Spark Scala 处理每个组
- css - 在@each 中使用变量值
- r - 将列表格式的数据框转换为R中的矩阵格式
- webpack - Webpack - CSS Loader 禁用捆绑图像但不禁用字体