Defunct as of rlang 0.3.0 and mutate_impl

别等时光非礼了梦想. 提交于 2019-11-30 00:35:26

问题


I am trying to use the following function but every time I do, I receive the error below. I tried installing an older version of rlang as it works on a different R Studio but I was unable to do that. It seems the error is due to the 0.3.0 version. Any suggestions on how to fix this error would be appreciated.

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.

回答1:


To solve this issue within a docker container, I ended up having to use devtools::install_version(..., dep = FALSE) to install an older version of rlang and manually install all dependencies for the packages I needed like dplyr.

Simply installing dplyr will install (or update) to the most recent version of rlang which released 0.3.0 on 2018-10-22 according to CRAN. Although I haven't figured out what changed with rlang and as_dictionary, this is a current workaround.

Although this was a pain, it did work. To find all imports for a particular package you can use as.data.frame(installed.packages()) and filter for the specific package name you are interested in. The column name is Imports.

Edit:
Although I have not tested it myself, another solution I found online is to upgrade dplyr to 0.7.7.




回答2:


I think the problem may come from incompatible package versions. You can try with:

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

If it doesn't work, reinstalling all packages the problem may disappear (code from here):

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



回答3:


Problem happened after installing new version of RStudio-1.2.1114.exe

To solve this problem I just had to install package 'dplyr' again

install.packages("dplyr")  



回答4:


What worked for me (though to be honest I don't fully understand why):

1) Delete the rlang folder from the computer (on Windows: R/win-library/3.4)
2) install.packages("dplyr")

In the two cases where I encountered this problem, the system was operating on R 3.4 with Windows. It's possible that the R3.4/Windows had something to do with it.




回答5:


I temporarily solved the problem via downgrading rlang.

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

x.x.x: the version you need


I just realize that "dplyr" has fixed the issue after version 0.7.4.




回答6:


For what it's worth, it worked for me by doing this:

  1. having dplyr version 0.7.8
  2. having rlang version 0.3.0.9000

I have R version 3.4.3 and using Rstudio version 1.1.456.




回答7:


Try the following command: This will bring rlang to version 0.2.1

Post this you will be able to run the command.



来源:https://stackoverflow.com/questions/52957136/defunct-as-of-rlang-0-3-0-and-mutate-impl

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!