gpt4 book ai didi

r - R语言函数中的函数

转载 作者:行者123 更新时间:2023-12-04 09:37:50 24 4
gpt4 key购买 nike

我在 R 语言中有一个简单的函数,例如:

f<-function(x){
y=(x+2)/3
return(y)
}

我想在它自己的输出上评估这个函数五次,即 y1=f(x), y2=f(f(x)), y3=f(f(f(x))), y4=f(f(f(f(x)))), y5=f(f(f(f(f(x))))) .有没有更简单的方法以一个函数的形式来做,例如当第一个参数是 x 时有两个参数的函数第二个参数是评估次数,即n .例如,对于 x=3n=5我想要功能f2<-(x=3,n=5)其输出将采用向量或长度等于 n 的列表的形式与值(value)观:

y1=f(3)=1.666667
y2=f(f(3))=1.222222
y3=f(f(f(3)))=1.074074
y4=f(f(f(f(3))))=1.024691
y5=f(f(f(f(f(3)))))=1.00823

如何在 R 中编写这样一个函数?

最佳答案

使用 accepted answer在另一篇文章中,只需使用 Reduce 来创建合成,g

composite <- function(g, h) {function(...)g(h(...))}
g <- Reduce(composite, list(f, f, f, f, f))

g(2)
f(f(f(f(f(2)))))

identical(g(2), f(f(f(f(f(2))))))
#[1] TRUE

关于r - R语言函数中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56567528/

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