可能有人问过这个问题,但我找不到。在 R 中,我想使用 | 管道而不是 %>%。
我已经习惯了 Linux,如果我能用 dplyr 或类似的东西做到这一点,我会很高兴。
是否可以使用此管道运算符?
df | filter(state == "New York")
Run Code Online (Sandbox Code Playgroud)
使用与 UNIX 中相同的符号可能会产生误导,因为 magrittr 管道不等同于 UNIX 管道,但除了这些管道中的任何一个使用内置 BOD 数据框给出相同的结果。
#2 定义了一个别名%>%。
#3 也重新定义了|它破坏的内置物——虽然我们试图通过在使用后将其移除来限制损坏,但不推荐使用。#3a 是#3 的一个更干净的版本,它只定义了 | 在本地,我们也可以在函数的顶部定义它,在这种情况下,它的作用域只会在函数体内,因此它不会对全局造成损害。
#4 仅适用于 R 的开发版本。请参阅?"|>" 注意,它不等同于 magrittr,%>%尽管它适用于 magrittr 管道工作的情况的子集。
#5 是奇怪的管道(谷歌它)。它只需要基本的 R 并且只是以一种巧妙的方式使用普通的 R 语法。
library(dplyr)
# 1
BOD %>% filter(Time > 3)
# 2
`%|%` <- `%>%`
BOD %|% filter(Time > 3)
# 3 - not recommended
`|` <- `%>%`
BOD | filter(Time > 3)
rm(`|`) # remove to limit damage
# 3a - redefine | locally only
with(list(`|` = `%>%`), BOD | filter(Time > 3))
# 4 - needs development version of R
BOD |> filter(Time > 3)
# 5 - bizzaro pipe
BOD ->.; filter(., Time > 3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |