dplyr select outputs error "Error: Can't assign an integer vector to a list of quosures"

dplyr select outputs error "Error: Can't assign an integer vector to a list of quosures"

我想我更新了其中一个库,现在 dplyr 的 select 不起作用。 有什么想法要重新安装哪个库以及要避免冲突的版本吗?

x <- data.frame(a=c(1,2,3),b=c(1,2,3))
dplyr::select(x,a)

Error: Can't assign an integer vector to a list of quosures

回溯:

-dplyr::select(x, a)
 -select.data.frame(x, a)
 -select_vars(names(.data), !(!(!quos(...))))
 -map_if(ind_list, !is_helper, eval_tidy, data = names_list)
 -`[<-.quosures`(`*tmp*`, matches, value = structure(list(1L), .Names = ""))
 -abort_quosure_assign(value[[idx]])`

sessionInfo()

R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=Hebrew_Israel.1255  LC_CTYPE=Hebrew_Israel.1255    LC_MONETARY=Hebrew_Israel.1255 LC_NUMERIC=C                   LC_TIME=Hebrew_Israel.1255    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RevoUtilsMath_10.0.0 RevoUtils_10.0.5     RevoMods_11.0.0      MicrosoftML_1.5.0    mrsdeploy_1.1.2      RevoScaleR_9.2.1     lattice_0.20-35      rpart_4.1-11        

loaded via a namespace (and not attached):
 [1] codetools_0.2-15       CompatibilityAPI_1.1.0 foreach_1.4.3          grid_3.4.1             R6_2.2.2               jsonlite_1.5           curl_3.0               iterators_1.0.8        tools_3.4.1           
[10] yaml_2.1.14            compiler_3.4.1         mrupdate_1.0.1     

更新::

当我运行

vars <- select_vars(names(.data), !(!(!quos(...))))

在调试模式下(函数: select.data.frame(命名空间:dplyr)),我收到以下消息

Error in !quos(...) : invalid argument type

但是

substitute(...)
>a

解决方法: 与新的 tibble 库和 rlang 发生冲突。从 CRAN 下载都解决了问题

我从 github 下载的其中一个库已经下载了更新版本的 rlang 和 dplyr。这导致了冲突问题。

我重新安装了旧版本的 rlang 和 dplyr,这已经解决了问题!