最新版 R 中 dplyr summarise 函数存在问题

4
在我之前的 R 版本中从未发生过以下情况。
mtcars %>% dplyr::group_by(carb) %>% dplyr::summarise(N=sum(am==1))
Error in summarise_impl(.data, dots, environment(), caller_env()) : 
  attempt to bind a variable to R_UnboundValue

以下是会话信息:
> sessionInfo()
R version 4.0.0 (2020-04-24)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux

Matrix products: default
BLAS:   /usr/lib64/R/lib/libRblas.so
LAPACK: /usr/lib64/R/lib/libRlapack.so

Random number generation:
 RNG:     Mersenne-Twister 
 Normal:  Inversion 
 Sample:  Rounding 

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               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    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] DT_0.11         glue_1.3.1      reshape2_1.4.3  DBI_1.1.0       plotly_4.9.1    ggplot2_3.2.1   lubridate_1.7.4 dplyr_0.8.4    
 [9] shinyjs_1.1     shiny_1.4.0     odbc_1.2.2     

loaded via a namespace (and not attached):
 [1] tidyselect_1.0.0  purrr_0.3.3       colorspace_1.4-1  vctrs_0.2.2       htmltools_0.4.0   viridisLite_0.3.0 yaml_2.2.1       
 [8] utf8_1.1.4        blob_1.2.1        rlang_0.4.4       later_1.0.0       pillar_1.4.3      withr_2.1.2       bit64_0.9-7      
[15] lifecycle_0.1.0   plyr_1.8.5        stringr_1.4.0     munsell_0.5.0     gtable_0.3.0      htmlwidgets_1.5.1 fastmap_1.0.1    
[22] httpuv_1.5.2      crosstalk_1.0.0   fansi_0.4.1       Rcpp_1.0.3        xtable_1.8-4      promises_1.1.0    scales_1.1.0     
[29] jsonlite_1.6.1    mime_0.8          bit_1.1-15.1      hms_0.5.3         digest_0.6.23     stringi_1.4.5     grid_4.0.0       
[36] cli_2.0.1         tools_4.0.0       magrittr_1.5      lazyeval_0.2.2    tibble_2.1.3      crayon_1.3.4      tidyr_1.0.2      
[43] pkgconfig_2.0.3   rsconnect_0.8.16  data.table_1.12.8 assertthat_0.2.1  httr_1.4.1        rstudioapi_0.10   R6_2.4.1         
[50] compiler_4.0.0  

1
我在 dplyr 1.0.0 中使用该特定命令没有任何问题。你能否尝试只加载 dplyr 而不加载其他库?我在两台机器上尝试过,一台是安装了 R 3.6.2 的 Windows 机器,另一台是安装了 R 4.0.0 的 Mac OS 机器。两者都可以正常工作。 - TimTeaFan
2个回答

4
可能是旧版的dplyr包的问题:似乎因为不是官方R API的一部分,R_UnboundValue已经在dplyr 1.0.0中被移除了。

因此,请尝试将您的dplyr包从0.8.4更新到1.0.0(或降级您的R)。相关的GitHub PR: https://github.com/tidyverse/dplyr/pull/4592

R 4.0.0中,使用dplyr 1.0.0,您的代码似乎可以正常工作。


3
似乎是一个与tidyverse/dplyr有关的问题,如果您正在使用R 4.0,则会出现未绑定值的问题。可能将dplyr软件包更新到0.8.5或更高版本可以解决这个问题?请参阅以下内容。

https://github.com/tidyverse/dplyr/pull/4928


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接