dplyr 0.7.5 в Linux Centos 7, функция выбора не работает - PullRequest
0 голосов
/ 08 мая 2018

Мне удалось установить dplyr 0.7.5 в Linux Centos с помощью выпуска для разработчиков на github:

 devtools::install_github("tidyverse/dplyr")

о, чувак, это не легко. Пришлось обновить множество пакетов, прежде чем установить этот новый dplyr.

До dplyr 0.7.5 я использовал 0.5.0. Однако версия 0.5.0 не поддерживает «sparklyr», который я использую для чтения паркетного файла с диска и преобразования в искровой фрейм данных. В любом случае, после того, как я установил 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:

Ошибка: ожидается список предложений.

--- похоже, что поддержка Non-Standard-Evaluation сломана.

У кого-нибудь есть решение для этого?

1 Ответ

0 голосов
/ 08 мая 2018

В настоящее время я использую 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   
...