首页 > 解决方案 > dplyr select 声称我有额外的参数不存在

问题描述

data <- tibble(x = 1:5, y = 6:10)
data %>% select(x)

返回

Error: `...` is not empty.

We detected these problematic arguments:
* `logical`

These dots only exist to allow future extensions and should be empty.
Did you misspecify an argument?

我无法弄清楚是什么导致了这个错误。我试过重新安装 dplyr,重新启动 R,重新启动计算机。任何建议,将不胜感激。运行 slang::last_error() 给出

<error/rlib_error_dots_nonempty>
`...` is not empty.

We detected these problematic arguments:
* `logical`

These dots only exist to allow future extensions and should be empty.
Did you misspecify an argument?
Backtrace:
  9. dplyr::select(., x)
 11. tidyselect::vars_select(tbl_vars(.data), !!!enquos(...))
 12. tidyselect:::eval_select_impl(...)
 20. tidyselect:::vars_select_eval(...)
 21. tidyselect:::walk_data_tree(expr, data_mask, context_mask)
 22. tidyselect:::eval_c(expr, data_mask, context_mask)
 23. tidyselect:::reduce_sels(node, data_mask, context_mask, init = init)
 24. tidyselect:::walk_data_tree(init, data_mask, context_mask)
 25. tidyselect:::as_indices_sel_impl(...)
 26. tidyselect:::as_indices_impl(x, vars, strict = strict)
 27. vctrs::vec_as_subscript(x, logical = "error")
 28. ellipsis::check_dots_empty()
 29. ellipsis:::action_dots(...)
Run `rlang::last_trace()` to see the full context.

标签: rdplyr

解决方案


我发现许多解决方案都指向新安装,所以我会建议我为另一个 dplyr 动词找到的编程解决方案: slice_max(.data, order_by, ..., n)

发现你使用时报错:data %>% slice_max(order_by = column_in_data, 10)

我通过明确指出输入名称来纠正它: data %>% slice_max(order_by = column_in_data, n = 10)


推荐阅读