dplyr :: rename错误:`petal_length` = Petal.Length必须是符号或字符串,而不是公式

时间:2017-12-08 18:09:37

标签: r dplyr rename

我正在尝试从dplyr帮助中运行简单示例,但最近我遇到了这个奇怪的错误:

> library(tidyverse)
> dplyr::rename(iris, petal_length = Petal.Length)
ERRROR: `petal_length` = Petal.Length must be a symbol or a string, not formula

谁能告诉我发生了什么?

> traceback()
11: stop(cnd)
10: .abort(text)
9: glubort(fmt_named_calls(named_calls), ..., .envir = .envir)
8: bad_named_calls(named_call, "must be a symbol or a string, not {actual_type}")
7: (function (expr, name) 
   {
       switch_type(expr, string = , symbol = return(as_string(expr)), 
           language = if (is_data_pronoun(expr)) {
               args <- node_cdr(expr)
               return(switch_rename(node_cadr(args)))
           }
           else {
               abort("Expressions are currently not supported in `rename()`")
           })
       actual_type <- friendly_type(type_of(expr))
       named_call <- ll(`:=`(!(!name), expr))
       bad_named_calls(named_call, "must be a symbol or a string, not {actual_type}")
   })(dots[[1L]][[1L]], dots[[2L]][[1L]])
6: mapply(FUN = f, ..., SIMPLIFY = FALSE)
5: Map(.f, .x, .y, ...)
4: map2(exprs, names(exprs), switch_rename)
3: rename_vars(names(.data), !(!(!quos(...))))
2: rename.data.frame(iris, petal_length = Petal.Length)
1: dplyr::rename(iris, petal_length = Petal.Length)

> conflicts(detail=TRUE)
$`package:dplyr`
[1] "filter"    "lag"       "intersect" "setdiff"   "setequal"  "union"    

$`package:stats`
[1] "filter" "lag"   

$`package:methods`
[1] "body<-"    "kronecker"

$`package:base`
[1] "body<-"    "intersect" "kronecker" "setdiff"   "setequal"  "union"  

会话信息:

> sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.3 LTS

Matrix products: default
BLAS: /usr/lib/openblas-base/libblas.so.3
LAPACK: /usr/lib/libopenblasp-r0.2.18.so

locale:
 [1] LC_CTYPE=pl_PL.UTF-8       LC_NUMERIC=C               
LC_TIME=pl_PL.UTF-8       
 [4] LC_COLLATE=pl_PL.UTF-8     LC_MONETARY=pl_PL.UTF-8    
LC_MESSAGES=pl_PL.UTF-8   
 [7] LC_PAPER=pl_PL.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=pl_PL.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
[1] forcats_0.2.0   stringr_1.2.0   dplyr_0.7.4     purrr_0.2.4     readr_1.1.1    
[6] tidyr_0.7.2     tibble_1.3.4    ggplot2_2.2.1   tidyverse_1.2.1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14           cellranger_1.1.0       compiler_3.4.2        
 [4] plyr_1.8.4             bindr_0.1              tools_3.4.2           
 [7] jsonlite_1.5           lubridate_1.7.1        nlme_3.1-131          

[10] gtable_0.2.0           lattice_0.20-35        pkgconfig_2.0.1       

[13] rlang_0.1.4.9000       psych_1.7.8            cli_1.0.0             

[16] rstudioapi_0.7.0-9000  yaml_2.1.15            parallel_3.4.2        

[19] haven_1.1.0            bindrcpp_0.2           withr_2.1.0           

[22] xml2_1.1.1             httr_1.3.1             hms_0.4.0             

[25] grid_3.4.2             glue_1.2.0             R6_2.2.2              

[28] readxl_1.0.0           foreign_0.8-69         sessioninfo_1.0.1.9000
[31] reshape2_1.4.2         modelr_0.1.1           magrittr_1.5          

[34] clisymbols_1.2.0       scales_0.5.0           rvest_0.3.2           

[37] assertthat_0.2.0       mnormt_1.5-5           colorspace_1.3-2      

[40] stringi_1.1.6          lazyeval_0.2.1         munsell_0.4.3         

[43] broom_0.4.3            crayon_1.3.4

0 个答案:

没有答案