使用dplyr:group_by分成多个数据帧子集?

时间:2016-10-13 02:27:55

标签: r dplyr

有没有办法根据group_by组将一个数据帧拆分成dplyr的数据帧子集?

mtcars %>% group_by(cyl, gear) %>% (codes?)

非常感谢!

1 个答案:

答案 0 :(得分:4)

嗯,不是你真的想要 - 但是你可以用tidyr来做,这几乎是同样的事情。

library(dplyr)
library(tidyr)

data(iris)

iris %>%
    group_by(Species) %>%
    nest() %>%
    select(data) %>%
    unlist(recursive = F)

#> $data1
#> # A tibble: 50 x 4
#>    Sepal.Length Sepal.Width Petal.Length Petal.Width
#>           <dbl>       <dbl>        <dbl>       <dbl>
#> 1           5.1         3.5          1.4         0.2
#> 2           4.9         3.0          1.4         0.2
#> 
#> $data2
#> # A tibble: 50 x 4
#>    Sepal.Length Sepal.Width Petal.Length Petal.Width
#>           <dbl>       <dbl>        <dbl>       <dbl>
#> 1           7.0         3.2          4.7         1.4
#> 2           6.4         3.2          4.5         1.5
#> 
#> $data3
#> # A tibble: 50 x 4
#>    Sepal.Length Sepal.Width Petal.Length Petal.Width
#>           <dbl>       <dbl>        <dbl>       <dbl>
#> 1           6.3         3.3          6.0         2.5
#> 2           5.8         2.7          5.1         1.9