gpt4 book ai didi

r - 在 R 中应用任意函数的函数

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

如何在 R 中实现函数 apply.func(func, arg.list) ,它接受一个任意函数 func和合适的列表 arg.list作为参数,并返回调用结果 func包含在 arg.list 中的参数.例如。

apply.func(foo, list(x="A", y=1, z=TRUE))

相当于
foo(x="A", y=1, z=TRUE)

谢谢!

附言FWIW,Python 等效于 apply.func会像
def apply_func(func, arg_list):
return func(*arg_list)

或者
def apply_func(func, kwarg_dict):
return func(**kwarg_dict)

或其一些变体。

最佳答案

我想 do.call就是你要找的。您可以通过 ?do.call 了解它.

人们如何使用的经典示例 do.call是到 rbind数据框或矩阵一起:

d1 <- data.frame(x = 1:5,y = letters[1:5])
d2 <- data.frame(x = 6:10,y = letters[6:10])

do.call(rbind,list(d1,d2))

这是另一个使用 sum 的相当简单的例子:
do.call(sum,list(1:5,runif(10)))

关于r - 在 R 中应用任意函数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192138/

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