> v <- c(1,2,NA,5)
> is.na(v)
[1] FALSE FALSE TRUE FALSE
> !is.na(v)
[1] TRUE TRUE FALSE TRUE
>
> !is.na(v) %>% all()
[1] TRUE
> all(!is.na(v))
[1] FALSE
> (!is.na(v)) %>% all()
[1] FALSE
在没有括号的情况下,
%>%
将is.na(v)
应用于 all()
,然后应用 !
运算符。为什么它在这里有这样的操作顺序?我还应该注意哪些其他函数/运算符的操作顺序?