Met*_*ics 5 functional-programming r
我一直在读github的功能.页面中的一个建议是使用call_function一个正在使用函数列表的人.以下是该页面的代码:
call_fun <- function(f, ...) f(...)
f <- list(sum, mean, median, sd)
lapply(f, call_fun, x = runif(1e3))
Run Code Online (Sandbox Code Playgroud)
输出发布为:
# [[1]]
# [1] 498
#
# [[2]]
# [1] 0.498
#
# [[3]]
# [1] 0.49
#
# [[4]]
# [1] 0.29
Run Code Online (Sandbox Code Playgroud)
但是,我无法复制上述结果.我收到了错误:
Error in FUN(X[[4L]], ...) : could not find function "f"
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
您已重新定义了该功能sd:
sd = 2
call_fun <- function(f, ...) f(...)
f <- list(sum, mean, median, sd)
lapply(f, call_fun, x = runif(1e3))
#Error in FUN(X[[4L]], ...) : could not find function "f"
Run Code Online (Sandbox Code Playgroud)
重启你的会话或做rm(sd).