【发布时间】:2019-08-15 16:17:34
【问题描述】:
我想根据多个变量的条件创建一个布尔变量。如this question 的第二个答案所示,可以根据多个列的许多条件进行过滤:
mtcars %>% filter_at(vars(starts_with("d"),starts_with("c")), any_vars(. %in% c(4)))
我想做类似的事情
test <- mtcars %>% mutate(has.4 = any_vars(vars(starts_with("d"),starts_with("c")) %in% c(4)))
但这当然不起作用并给出Error: Column ``has.4`` is of unsupported type quoted call。
filter_at() 调用已经在创建用于对数据进行子集化的布尔值。如何将该输出通过管道传输到新变量中并保留所有行?
另外,我只想创建一个新列,所以 mutate_at() 和 mutate_if() 似乎不是正确的调用。
【问题讨论】: