虽然我的原始问题更为笼统,但为了使事情更加全面,我正在制定下面的部分案例, - 我希望它的解决方案/答案可以作为更一般性问题的答案。
问题:
非常感谢任何想法!
PS:拜托,请不要尝试以数学方式解决问题或简化表达式(例如,用泰勒展开来近似结果,无论如何),因为它不是主题(但是,我试图选择)这样一个例子,不应该有任何简单的转换)
P.S.2:原始问题(这里不需要答案,因为预计发布的问题的答案对原始问题有效):
如果在R中可以创建具有任意长表达式的函数(避免“手动”定义)。例如,为n = 5设置手动给定函数很容易:
f<-function(x) {
((((x^x)^x)^x)^x)^x
}
但是如果n = 1'000或1'000'000 怎么办? 似乎简单的循环在这里不合适......
答案 0 :(得分:2)
从Rhelp复制:你应该看看:
# ?funprog Should have worked but didn't. Try instead ...
?Reduce
有几个重复应用功能参数的例子。还包括功能列表。
一个例子:
Funcall <- function(f, ...) f(...) # sort of like `do.call`
Iterate <- function(f, n = 1)
function(x) Reduce(Funcall, rep.int(list(f), n), x, right = TRUE)
Iterate(function(x) x^1.1, 30)(1.01)
#[1] 1.189612