0 expression r
如何将管道%>%与逻辑链一起使用而不必放{}所有东西?
好吧,这个示例非常基础,但是如果您链接多个逻辑表达式,那么在所有包围中都会变得非常讨厌,因此我想不惜一切代价避免使用括号。
rep(T,10) & rep(F,10) %>% sum
Run Code Online (Sandbox Code Playgroud)
预期:
0
Run Code Online (Sandbox Code Playgroud)
我得到了什么:
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)
管道的优先级高于&。首先使用括号将其强制执行。
(rep(T,10) & rep(F,10)) %>% sum
[1] 0
Run Code Online (Sandbox Code Playgroud)
请参阅?Syntax以获取运算符优先级的列表。
如果必须避免使用方括号,则需要使用具有相同或更高优先级的运算符(例如,另一个管道)以及逻辑运算符的功能形式:
rep(T,10) %>% and(rep(F,10)) %>% sum
[1] 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |