如何解决多次将函数的输出传递回输入
p<-function(a){
sp(bp(a))
}
sp
和bp
函数接受数字输入并产生数字结果(sp
和bp
遵循不同的操作)。我想多次运行此功能。以下代码:
sp(bp(sp(bp(sp(bp(a))))))
具有我想要的效果,但是显然,对于大量的迭代,这不是一种实用的方法。如何重复将p
的输出作为输入反馈回p
?
解决方法
编辑:澄清后
因此,如果您想连续申请p
的次数(有限),那将是一种方法(我假设sp
和{{ 1}}进行说明):
bp
由reprex程序包(v0.3.0)于2020-09-11创建
我不太确定要使用哪种用例(因为这很容易导致无限的“循环”,但这是一个函数的示例(公认的),该示例对一些数字求和,无论它们有多少个列表可以嵌套,该嵌套使用在函数定义本身中使用相同函数的调用:
sp <- function(x) return(x+1)
bp <- function(x) return(2*x)
p <- function(x) return(sp(bp(x)))
# Applying p 3 times in succession:
p_old <- 1
for (i in 1:3){
p_new = p(p_old)
p_old = p_new
}
p_new
#> [1] 15
# Which is the same as
p(p(p(1)))
#> [1] 15
由reprex软件包(v0.3.0)于2020-09-11创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。