Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapt to dplyr dev version which no longer support adding an extra class to a data frame #32

Closed
kassambara opened this issue Mar 29, 2020 · 2 comments

Comments

@kassambara
Copy link
Owner

suppressPackageStartupMessages(library(dplyr))

mydata <- as_tibble(ToothGrowth)
class(mydata)
#> [1] "tbl_df"     "tbl"        "data.frame"

# Using an additional "custom_class"
mydata_2 <- mydata
class(mydata_2) <- c(class(mydata_2), "custom_class")
class(mydata_2)
#> [1] "tbl_df"       "tbl"          "data.frame"   "custom_class"

# This works
mydata %>% mutate(len_2 = 2*len)
#> # A tibble: 60 x 4
#>      len supp   dose len_2
#>    <dbl> <fct> <dbl> <dbl>
#>  1   4.2 VC      0.5   8.4
#>  2  11.5 VC      0.5  23  
#>  3   7.3 VC      0.5  14.6
#>  4   5.8 VC      0.5  11.6
#>  5   6.4 VC      0.5  12.8
#>  6  10   VC      0.5  20  
#>  7  11.2 VC      0.5  22.4
#>  8  11.2 VC      0.5  22.4
#>  9   5.2 VC      0.5  10.4
#> 10   7   VC      0.5  14  
#> # … with 50 more rows

# This no longer works in dplyr dev version
mydata_2 %>% mutate(len_2 = 2*len)
#> Error: Input must be a vector, not a `tbl_df/tbl/data.frame/custom_class` object.
#> Backtrace:
#>      █
#>   1. ├─mydata_2 %>% mutate(len_2 = 2 * len)
#>   2. │ ├─base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
#>   3. │ └─base::eval(quote(`_fseq`(`_lhs`)), env, env)
#>   4. │   └─base::eval(expr, envir, enclos)
#>   5. │     └─`_fseq`(`_lhs`)
#>   6. │       └─magrittr::freduce(value, `_function_list`)
#>   7. │         ├─base::withVisible(function_list[[k]](value))
#>   8. │         └─function_list[[k]](value)
#>   9. │           ├─dplyr::mutate(., len_2 = 2 * len)
#>  10. │           └─dplyr:::mutate.data.frame(., len_2 = 2 * len)
#>  11. │             └─dplyr:::mutate_cols(.data, ...)
#>  12. │               └─DataMask$new(.data, caller_env())
#>  13. │                 └─.subset2(public_bind_env, "initialize")(...)
#>  14. │                   └─dplyr::group_rows(data)
#>  15. │                     ├─dplyr::group_data(.data)
#>  16. │                     └─dplyr:::group_data.data.frame(.data)
#>  17. │                       └─vctrs::vec_init(.data[, 0], 1)
#>  18. └─vctrs:::stop_scalar_type(...)
#>  19.   └─vctrs:::stop_vctrs(msg, "vctrs_error_scalar_type", actual = x)

Created on 2020-03-29 by the reprex package (v0.3.0.9001)

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.3.2 (2016-10-31)
#>  os       macOS Sierra 10.12.6        
#>  system   x86_64, darwin13.4.0        
#>  ui       X11                         
#>  language (EN)                        
#>  collate  fr_FR.UTF-8                 
#>  ctype    fr_FR.UTF-8                 
#>  tz       Europe/Paris                
#>  date     2020-03-29                  
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version     date       lib source                            
#>  assertthat    0.2.1.9000  2019-08-04 [1] Github (hadley/assertthat@50dc4b0)
#>  backports     1.1.5       2019-10-02 [1] CRAN (R 3.3.2)                    
#>  cli           2.0.2       2020-02-28 [1] CRAN (R 3.3.2)                    
#>  crayon        1.3.4       2017-09-16 [1] CRAN (R 3.3.2)                    
#>  digest        0.6.25      2020-02-23 [1] CRAN (R 3.3.2)                    
#>  dplyr       * 0.8.99.9002 2020-03-28 [1] Github (tidyverse/dplyr@c7f2936)  
#>  evaluate      0.14        2019-05-28 [1] CRAN (R 3.3.2)                    
#>  fansi         0.4.1       2020-01-08 [1] CRAN (R 3.3.2)                    
#>  fs            1.3.1       2019-05-06 [1] CRAN (R 3.3.2)                    
#>  generics      0.0.2       2018-11-29 [1] CRAN (R 3.3.2)                    
#>  glue          1.3.2       2020-03-12 [1] CRAN (R 3.3.2)                    
#>  highr         0.8         2019-03-20 [1] CRAN (R 3.3.2)                    
#>  htmltools     0.4.0       2019-10-04 [1] CRAN (R 3.3.2)                    
#>  knitr         1.28        2020-02-06 [1] CRAN (R 3.3.2)                    
#>  lifecycle     0.2.0.9000  2020-03-28 [1] Github (r-lib/lifecycle@355dcba)  
#>  magrittr      1.5         2014-11-22 [1] CRAN (R 3.3.0)                    
#>  pillar        1.4.3       2019-12-20 [1] CRAN (R 3.3.2)                    
#>  pkgconfig     2.0.3       2019-09-22 [1] CRAN (R 3.3.2)                    
#>  purrr         0.3.3       2019-10-18 [1] CRAN (R 3.3.2)                    
#>  R6            2.4.1       2019-11-12 [1] CRAN (R 3.3.2)                    
#>  Rcpp          1.0.3       2019-11-08 [1] CRAN (R 3.3.2)                    
#>  reprex        0.3.0.9001  2020-03-03 [1] Github (tidyverse/reprex@a019cc4) 
#>  rlang         0.4.5.9000  2020-03-28 [1] Github (r-lib/rlang@a90b04b)      
#>  rmarkdown     2.1.1       2020-03-03 [1] Github (rstudio/rmarkdown@1025379)
#>  rstudioapi    0.10        2019-03-19 [1] CRAN (R 3.3.2)                    
#>  sessioninfo   1.1.1       2018-11-05 [1] CRAN (R 3.3.2)                    
#>  stringi       1.4.6       2020-02-17 [1] CRAN (R 3.3.2)                    
#>  stringr       1.4.0       2019-02-10 [1] CRAN (R 3.3.2)                    
#>  styler        1.0.2       2018-06-26 [1] CRAN (R 3.3.2)                    
#>  tibble        2.1.3       2019-06-06 [1] CRAN (R 3.3.2)                    
#>  tidyselect    1.0.0       2020-01-27 [1] CRAN (R 3.3.2)                    
#>  utf8          1.1.4       2018-05-24 [1] CRAN (R 3.3.2)                    
#>  vctrs         0.2.99.9010 2020-03-28 [1] Github (r-lib/vctrs@67c49a1)      
#>  withr         2.1.2.9000  2020-03-03 [1] Github (jimhester/withr@16d47fd)  
#>  xfun          0.12        2020-01-13 [1] CRAN (R 3.3.2)                    
#>  yaml          2.2.1       2020-02-01 [1] CRAN (R 3.3.2)                    
#> 
#> [1] /Library/Frameworks/R.framework/Versions/3.3/Resources/library
@kassambara
Copy link
Owner Author

Related issue #30

@kassambara
Copy link
Owner Author

Related to r-lib/vctrs#972

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant