如何解决我可以使用管道吗?在 R 中,不是 %>%
可能有人问过这个问题,但我找不到。在 R 中,我想使用 |管道而不是 %>%。
我已经习惯了 Linux,如果我能用 dplyr 或类似的东西做到这一点,我会很高兴。
可以使用这个管道运算符吗?
df | filter(state == "New York")
解决方法
使用与 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)
,
仅供参考,next version of R 本身就有一个管道 - |>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。