Defunct as of rlang 0.3.0 and mutate_impl

2019-04-03 11:20发布

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.

标签: r rlang
7条回答
家丑人穷心不美
2楼-- · 2019-04-03 11:59

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.

查看更多
走好不送
3楼-- · 2019-04-03 12:09

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.

查看更多
爷的心禁止访问
4楼-- · 2019-04-03 12:13

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

Post this you will be able to run the command.

查看更多
可以哭但决不认输i
5楼-- · 2019-04-03 12:18

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.

查看更多
The star\"
6楼-- · 2019-04-03 12:21

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)
查看更多
Juvenile、少年°
7楼-- · 2019-04-03 12:21

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.

查看更多
登录 后发表回答