【发布时间】:2016-07-11 12:21:51
【问题描述】:
有没有办法指定 dplyr::distinct 应该使用所有列名而不诉诸非标准评估?
df <- data.frame(a=c(1,1,2),b=c(1,1,3))
df %>% distinct(a,b,.keep_all=FALSE) # behavior I'd like to replicate
对
df %>% distinct(everything(),.keep_all=FALSE) # with syntax of this form
【问题讨论】:
-
df %>% distinct()能给你想要的吗? -
不幸的是它没有。我相信传递数据框作为用于产生正确结果的唯一参数,但是最近的版本已经看到了 distinct 函数的变化。我目前得到:
Error: No variables selected -
df %>% unique作为替代方案,虽然不是最令人满意的答案。 -
这是
dplyr中的新错误吗?我发誓我看到它工作正常。没有选择变量时出现相同的错误。 -
@Gopala,不是错误。只是新版本中的设计决定。我经常使用不带参数的 distinct() ,现在出于相同目的使用 unique()。