由于 .key 已被弃用,如何重命名 nest() 中的数据列?
Since .key is deprecated how it is possible to rename the data column in nest()?
在 .key
被弃用之前,我这样做了:
library(tidyverse)
mtcars %>% group_by(cyl) %>% nest(.key = "my_name")
nest()
的帮助指出,现在这是使用 tidy select 执行的,但我不知道如何执行。
名称可以直接在nest的参数中提供:
mtcars %>% nest( my_name = -cyl ) # Nest by everything except cyl
# # A tibble: 3 x 2
# cyl my_name
# <dbl> <list>
# 1 6 <tibble [7 × 10]>
# 2 4 <tibble [11 × 10]>
# 3 8 <tibble [14 × 10]>
您可以使用 dplyr
1.0.0 中的新 nest_by
功能,其工作方式与您之前使用的 nest
功能类似。
library(dplyr)
mtcars %>% group_by(cyl) %>% nest_by(.key = "my_name")
# cyl my_name
# <dbl> <list<tbl_df[,10]>>
#1 4 [11 × 10]
#2 6 [7 × 10]
#3 8 [14 × 10]
不分组也可以做同样的事情。
mtcars %>% nest_by(cyl, .key = "my_name")
您可以使用group_cols()
来引用分组变量:
mtcars %>% group_by(cyl) %>% nest(my_name = !group_cols())
#> # A tibble: 3 x 2
#> # Groups: cyl [3]
#> cyl my_name
#> <dbl> <list>
#> 1 6 <tibble [7 × 10]>
#> 2 4 <tibble [11 × 10]>
#> 3 8 <tibble [14 × 10]>
mtcars %>% nest(my_name = !cyl)
#> # A tibble: 3 x 2
#> # Groups: cyl [3]
#> cyl my_name
#> <dbl> <list>
#> 1 6 <tibble [7 × 10]>
#> 2 4 <tibble [11 × 10]>
#> 3 8 <tibble [14 × 10]>
在 .key
被弃用之前,我这样做了:
library(tidyverse)
mtcars %>% group_by(cyl) %>% nest(.key = "my_name")
nest()
的帮助指出,现在这是使用 tidy select 执行的,但我不知道如何执行。
名称可以直接在nest的参数中提供:
mtcars %>% nest( my_name = -cyl ) # Nest by everything except cyl
# # A tibble: 3 x 2
# cyl my_name
# <dbl> <list>
# 1 6 <tibble [7 × 10]>
# 2 4 <tibble [11 × 10]>
# 3 8 <tibble [14 × 10]>
您可以使用 dplyr
1.0.0 中的新 nest_by
功能,其工作方式与您之前使用的 nest
功能类似。
library(dplyr)
mtcars %>% group_by(cyl) %>% nest_by(.key = "my_name")
# cyl my_name
# <dbl> <list<tbl_df[,10]>>
#1 4 [11 × 10]
#2 6 [7 × 10]
#3 8 [14 × 10]
不分组也可以做同样的事情。
mtcars %>% nest_by(cyl, .key = "my_name")
您可以使用group_cols()
来引用分组变量:
mtcars %>% group_by(cyl) %>% nest(my_name = !group_cols())
#> # A tibble: 3 x 2
#> # Groups: cyl [3]
#> cyl my_name
#> <dbl> <list>
#> 1 6 <tibble [7 × 10]>
#> 2 4 <tibble [11 × 10]>
#> 3 8 <tibble [14 × 10]>
mtcars %>% nest(my_name = !cyl)
#> # A tibble: 3 x 2
#> # Groups: cyl [3]
#> cyl my_name
#> <dbl> <list>
#> 1 6 <tibble [7 × 10]>
#> 2 4 <tibble [11 × 10]>
#> 3 8 <tibble [14 × 10]>