从 rlang 0.3.0 和 mutate_impl 开始失效

Defunct as of rlang 0.3.0 and mutate_impl

我正在尝试使用以下功能,但每次我这样做时,都会收到以下错误。我尝试安装旧版本的 rlang,因为它可以在不同的 R Studio 上运行,但我无法安装。看来错误是由于 0.3.0 版本。任何有关如何修复此错误的建议将不胜感激。

details2 <-
   details %>%
   mutate(rownames=rownames(.)) %>%
   filter(isdir==FALSE) %>%
   arrange(desc(ctime))

Error in mutate_impl(.data, dots) : 
  Evaluation error: `as_dictionary()` is defunct as of rlang 0.3.0.
Please use `as_data_pronoun()` instead.

我认为问题可能来自不兼容的软件包版本。你可以试试:

update.packages(ask = FALSE, checkBuilt = TRUE)

如果它不起作用,重新安装所有软件包问题可能会消失(代码来自here):

package_df <- as.data.frame(installed.packages())
package_list <- as.character(package_df$Package)
install.packages(package_list)

为了在 docker 容器中解决这个问题,我最终不得不使用 devtools::install_version(..., dep = FALSE) 安装旧版本的 rlang 并手动安装我需要的包的所有依赖项喜欢 dplyr

只需安装 dplyr 即可安装(或更新)到 rlang 的最新版本,根据 CRAN,该版本已在 2018-10-22 上发布 0.3.0。虽然我还没有弄清楚 rlangas_dictionary 有什么变化,但这是当前的解决方法。

虽然这很痛苦,但确实有效。 要查找特定包的所有导入,您可以使用 as.data.frame(installed.packages()) 并过滤您感兴趣的特定包名称。列名称是 Imports.

编辑:
虽然我没有自己测试过,但是我在网上找到的另一种解决方案是将dplyr升级为0.7.7

什么对我有用(老实说我不完全明白为什么):

1) 从计算机中删除 rlang 文件夹(Windows:R/win-library/3.4)
2) install.packages("dplyr")

在我遇到这个问题的两个案例中,系统都是在 Windows 的 R 3.4 上运行的。 R3.4/Windows 可能与它有关。

安装新版本 RStudio-1.2 后出现问题。1114.exe

为了解决这个问题,我只需要再次安装软件包 'dplyr'

install.packages("dplyr")  

尝试以下命令: 这会将 rlang 带到版本 0.2.1

Post 这样你就可以 运行 命令了。

我通过降级rlang暂时解决了问题。

require(devtools)
install_version("rlang", version = "x.x.x", repos = "http://cran.us.r-project.org")

x.x.x: 你需要的版本


我才发现 "dplyr" 已经在 0.7.4 版本之后解决了这个问题。

对于它的价值,这样做对我有用:

  1. 拥有 dplyr 版本 0.7.8
  2. 拥有 rlang 版本 0.3.0.9000

我有 R 版本 3.4.3 并使用 Rstudio 版本 1.1.456。