将tidyeval quo()与gather()一起使用时出错
我试图在数据帧上运行gather(),并使用!!quo()。但我不断得到“错误:无效的列规范”。我甚至发现了一张封闭的票,它表明它应该有效() 我将继续使用rename_uz()作为解决方法,但最好使用更优雅的NSE将tidyeval quo()与gather()一起使用时出错,r,dplyr,tidyr,rlang,tidyeval,R,Dplyr,Tidyr,Rlang,Tidyeval,我试图在数据帧上运行gather(),并使用!!quo()。但我不断得到“错误:无效的列规范”。我甚至发现了一张封闭的票,它表明它应该有效() 我将继续使用rename_uz()作为解决方法,但最好使用更优雅的NSE library('tidyverse') data(mtcars) my_var <- 'my_col_name' 图书馆版本 tidyverse_1.1.1 dplyr_0.7.0 tidyr_0.6.3 rlang_0.1.1 你在哪里找到那张不公开的票的gathe
library('tidyverse')
data(mtcars)
my_var <- 'my_col_name'
图书馆版本
tidyverse_1.1.1
dplyr_0.7.0
tidyr_0.6.3
rlang_0.1.1
你在哪里找到那张不公开的票的
gather()
在tidyr
中,而不是dplyr
,我认为当前发布的tidyr
(0.6.3)没有使用dplyr
所使用的新rlang
语法。也许它在开发版本中起作用。刚刚意识到我应该发布一个链接到罚单:是的,这肯定还没有发布到CRAN。如果你想使用这些功能,你必须安装软件包的开发版本(可能不稳定):devtools::install\u github(“tidyverse/tidyr”)
这很容易。我应该删除这个问题吗?由你决定。这个问题可能会在一个很短的时间内得到解决。不确定何时发布tidyverse软件包的更新版本。
> mtcars %>%
as_tibble %>%
rownames_to_column('car_make') %>%
gather(!!quo(my_var), values, -car_make)
Error: Invalid column specification
> mtcars %>%
as_tibble %>%
rownames_to_column('car_make') %>%
gather(!!enquo(my_var), values, -car_make)
Error: Invalid column specification
tidyverse_1.1.1
dplyr_0.7.0
tidyr_0.6.3
rlang_0.1.1