r - Linux Centos 7 上的 dplyr 0.7.5,选择功能不起作用
问题描述
我设法使用 github 开发版本在 Linux Centos 上安装了 dplyr 0.7.5:
devtools::install_github("tidyverse/dplyr")
哦,伙计,这并不容易。在安装这个新的 dplyr 之前必须更新无数的包。
在 dplyr 0.7.5 之前,我使用的是 0.5.0。但是 0.5.0 版不支持“sparklyr”,我用它从磁盘读取 parquet 文件并转换为 spark 数据帧。无论如何,在我安装 dplyr 0.7.5 之后,许多旧的 dplyr 代码都坏了。例如:
df <- data.frame(A=c(1, 2, 3), B=c('a', 'b', 'c'))
a <- df %>% dplyr::select(A)
---- 这曾经在 dplyr 0.5.0 中工作,但我在 dplyr 0.7.5 中一直出错:
错误:需要一个 quosures 列表。
--- 看起来对非标准评估的支持都被打破了。
有人对此有解决方案吗?
解决方案
我目前正在运行 CentOS 7.4.1708,无法复制您描述的问题。
用于packrat
创建一个干净的环境并检查问题是否真的是由于您的 dplyr 版本造成的。然后,您可以从脚本中添加部分,并在问题开始出现时缩小范围。
执行以下操作以创建干净的测试环境:
# Create a test folder
dir.create("test")
setwd("test")
# packrat creates a private package library, so you are sure about your package versions
if(!require(packrat)) install.packages("packrat")
packrat::init()
# Install the development version of dplyr
install.packages("devtools")
devtools::install_github("tidyverse/dplyr")
# Test your example
library(dplyr)
df <- data.frame(A=c(1, 2, 3), B=c('a', 'b', 'c'))
a <- df %>% dplyr::select(A)
(会议信息:)
R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /opt/Bio/R/3.4.3/lib64/R/lib/libRblas.so
LAPACK: /opt/Bio/R/3.4.3/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.7.5.9000
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 packrat_0.4.9-1 digest_0.6.15 withr_2.1.2
[5] assertthat_0.2.0 R6_2.2.2 magrittr_1.5 git2r_0.21.0
[9] pillar_1.2.2 httr_1.3.1 rlang_0.2.0 curl_3.2
[13] bindrcpp_0.2.2 devtools_1.13.5 tools_3.4.3 glue_1.2.0
[17] purrr_0.2.4 compiler_3.4.3 pkgconfig_2.0.1 memoise_1.1.0
[21] tidyselect_0.2.4 bindr_0.1.1 tibble_1.4.2
推荐阅读
- clarifai - 从气泡到 claifai 的 API 身份验证问题
- laravel - 在 Illuminate\Contracts\Auth\Authenticatable|null 中找不到属性“跟随”
- laravel - 如何使用 vue 正确解释 laravel 模板中的 html 标签?
- node.js - 无法将 JWT 分配给标头请求
- javascript - JavaScript 中的大数和浮点数
- python - 向后存储递归结果
- python - 尝试抓取网站时,“响应”类型的对象没有 len()
- sql - 基于将一个视图中的值列表与另一个视图中的列表进行比较来返回表
- java - 我需要读取已经给出的java中的公钥和私钥。我无法请教
- python - Dask更新列类似sql case