gpt4 book ai didi

r - 如何在 R 中像在 C# 中一样使用 linq 进行函数链接,我们有方法链接?

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

我是 R 的新手,我在 R 中注意到一件事,即每次需要进一步处理之前,我们都需要继续将结果保存到变量中。有什么方法可以将结果存储到某个缓冲区,然后在进一步处理中使用该缓冲区结果。对于熟悉使用 LINQ 的 C# 的人来说,我们有一个称为“方法链接”的功能,这里我们继续将中间结果动态传递给各种函数,而不需要将它们存储到单独的变量中,最后,我们得到所需的输出.这节省了很多额外的语法,那么R中有类似的东西吗?

最佳答案

函数组合对于函数式编程就像方法链对于面向对象编程一样。

x <- foo(bar(baz(y)))

基本相同

x = baz(y).bar().foo()

使用您可能熟悉的语言。

如果您对嵌套括号和向后编写内容感到不舒服,magrittr 包提供了 %>% 运算符来解包表达式:

library(magrittr)
x = y %>% baz() %>% bar() %>% foo()

R 还为传统的 OO 编程提供了几个框架:引用类和 R6。有了这些,你可以写一些像

x = y$baz()$bar()$foo()

但我建议首先学习如何处理“正常”R 表达式。

关于r - 如何在 R 中像在 C# 中一样使用 linq 进行函数链接,我们有方法链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45121444/

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