我想知道在使用嵌套函数时在R中更有效的方法。本质上,我有三个功能f1,f2,f3。 f3使用f2,f2本身使用f1
我有2个选项:
据您所知,其中一种方法是否比另一种更有效率?
非常感谢
答案 0 :(得分:0)
谢谢。我不知道这个功能。我仅使用2个函数f1和f2运行了以下代码:
f1 <- function(x) {
y <- x + 2
return(y)
}
f2 <- function(y){
x = 3
z <- y + 3 + f1(x)
return(z)
}
哪个回来了
> microbenchmark::microbenchmark(f2(2))
Unit: nanoseconds
expr min lq mean median uq max neval
f2(2) 737 754 47665.41 798.5 910.5 4667754 100
与
相反f3 <- function(y){
f4 <- function(x) {
y <- x + 2
return(y)}
x = 3
z <- y + 3 + f4(x)
return(z)
}
似乎慢一点
> microbenchmark::microbenchmark(f3(2))
Unit: nanoseconds
expr min lq mean median uq max neval
f3(2) 844 868.5 53053.53 1000 1096 5180886 100
尽管我不确定这个例子是否可靠...因为它很快