这个问题基本上与Chain arithmetic operators in dplyr with %>% pipe相同,但针对新的管道操作符|>
(如R 4.1)进行了更新。
**如何使用R原生管道|>
链接算术运算符?**使用dplyr/magrittr,您可以为算术运算符使用反引号,但这不适用于内置的R管道运算符。下面是一个简单的示例:
R.version$version.string
# [1] "R version 4.2.2 (2022-10-31 ucrt)"
x <- 2
# With dplyr/magrittr, you can use backticks for arithmetic operators
x %>% `+`(2)
# [1] 4
# But that doesn't work with the inbuilt R pipe operator
x |> `+`(2)
# Error: function '+' not supported in RHS call of a pipe
希望答案足够通用,可以用于任何操作符或内置函数,这些操作符或内置函数通常不能很好地与原生R管道一起工作(我的版本是R 4.2.2)。
答案https://stackoverflow.com/a/72086492/2449926有很多关于%>%
和|>
之间差异的有用信息,但没有一个能完全回答我的问题。
2条答案
按热度按时间8zzbczxx1#
我们可以使用名称空间前缀。
izkcnapc2#
一个解决方案(虽然可能不是直接的答案)是为所需的操作符使用匿名函数:
虽然没有magrittr的烟斗那么优雅
该变通方法至少允许链接。