gpt4 book ai didi

r - 在 R 中,Matlab 中 @ 函数句柄的等价物是什么?

转载 作者:行者123 更新时间:2023-12-04 17:01:44 38 4
gpt4 key购买 nike

在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f:

g = @(b) f(a1, b, c1);

R中是否有等价物,还是我只需要重新定义一个新函数?

最佳答案

还有方便的functional::Curry功能:

f <- function(a, b, c) {a + b + c}
f(1, 2, 3)
# [1] 6

library(functional)
g <- Curry(f, a = a1, c = c1)
g(b=2)
# [1] 6
g(2)
# [1] 6

我认为与@NPE 的解决方案的一个重要区别是 g 的定义使用 Curry不提 b .因此,当 f 中的参数数量较多时,您可能更喜欢这种方法。变大。

关于r - 在 R 中,Matlab 中 @ 函数句柄的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636454/

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