dplyr rename_all does not work on grouped data

Created on 12 Jul 2017  路  3Comments  路  Source: tidyverse/dplyr

Adding a group_by causes a previously working rename_all to fail. Example below (working then not working rename_all).

suppressPackageStartupMessages(library("dplyr"))
packageVersion("dplyr")
#> [1] '0.7.1.9000'

MYFN <- function(.) { gsub('"', '', ., fixed = TRUE)}
rename_all(mtcars, funs(MYFN)) %>% head()
#>                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
#> Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

dg <- group_by(mtcars, cyl, gear)
rename_all(dg, funs(MYFN))
#> Error: All arguments must be named
bug

Most helpful comment

Thanks, confirmed. The example is somewhat clearer with

MYFN <- function(.) { gsub('a', 'u', ., fixed = TRUE)}

All 3 comments

Thanks, confirmed. The example is somewhat clearer with

MYFN <- function(.) { gsub('a', 'u', ., fixed = TRUE)}

Is this a duplicate of #2947?

Looks like a dup to me, sorry.

Was this page helpful?
0 / 5 - 0 ratings