【发布时间】:2021-05-19 09:35:57
【问题描述】:
我正在寻找一种更优雅的方法来从管道中的向量中排除多个值。下面的代码实现了我所需要的,但非常难看。你能想出一个替代方案吗?
values_to_exclude <- c("b", "d")
letters[1:5] %>%
.[ !(. %in% values_to_exclude) ] # quite ugly
【问题讨论】:
-
一定要用管道吗?
setdiff(letters[1:5], values_to_exclude)为什么这不适用于您的用例? -
它肯定会起作用。我通常将“letters[1:5]”部分创建为较长管道块的一部分,但 letters[1:5] %>% setdiff(values_to_exclude) 肯定会起作用。
标签: r functional-programming magrittr