Defunct as of rlang 0.3.0 and mutate_impl

2019-04-03 11:29发布

问题:

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:

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.



回答4:

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")  


回答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.



标签: r rlang