我是 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/