问题描述
这可能违背 magrittr (ref1,ref2) 的哲学
x <- c(3,1,2,3) %>%
sort(unique())
## Error in is.factor(x) : argument "x" is missing,with no default
x <- c(3,3) %>%
sort(unique(.))
## Error in sort(.,unique(.)) :
## 'decreasing' must be a length-1 logical vector.
## Did you intend to set 'partial'?
谁能解释这种行为或如何避免它?
解决方法
我想我可以提供部分答案(关于如何避免这种行为)。
只需将嵌套的函数调用括在大括号中,如下所示:
c(3,1,2,3) %>% {sort(unique(.),decreasing = FALSE)}
# [1] 1 2 3
至于为什么会这样,在 ?magrittr::%>%\
中有解释。