5

我一直在阅读来自github的功能。页面中的一项建议是在使用call_function功能列表时使用。这是页面中的代码:

call_fun <- function(f, ...) f(...)
f <- list(sum, mean, median, sd)
lapply(f, call_fun, x = runif(1e3))

输出发布为:

# [[1]]
# [1] 498
# 
# [[2]]
# [1] 0.498
# 
# [[3]]
# [1] 0.49
# 
# [[4]]
# [1] 0.29

但是,我无法复制上述结果。我得到了错误:

Error in FUN(X[[4L]], ...) : could not find function "f"

我在这里错过了什么吗?

4

1 回答 1

5

您已经重新定义了函数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"

重新启动您的会话或执行rm(sd).

于 2013-08-15T16:47:23.050 回答