Group/summarize 在嵌套的 tibble 上追加列列表
Group/summarize on nested tibble to append column lists
我对列表的列表列很感兴趣。在下面的例子中,列表是每个碳齿轮组合的唯一模型。
my_df <- mtcars %>%
rownames_to_column('model') %>%
as_tibble() %>%
select(model, gear, carb) %>%
group_by(carb, gear) %>%
summarise(models = list(unique(model)))
# A tibble: 11 × 3
# Groups: carb [6]
carb gear models
<dbl> <dbl> <list>
1 1 3 <chr [3]>
2 1 4 <chr [4]>
3 2 3 <chr [4]>
4 2 4 <chr [4]>
5 2 5 <chr [2]>
6 3 3 <chr [3]>
7 4 3 <chr [5]>
8 4 4 <chr [4]>
9 4 5 <chr [1]>
10 6 5 <chr [1]>
11 8 5 <chr [1]>
现在假设我想将唯一模型汇总为每个齿轮的唯一模型。我希望做类似下面的事情,但它似乎并不尊重这些团体。
my_df %>%
group_by(gear) %>%
summarise(models = map(models, c))
我希望结果如下所示:
# A tibble: 3 × 2
# Groups: gear [3]
gear models
<dbl> <list>
1 3 <chr [15]>
2 4 <chr [12]>
3 5 <chr [5]>
您可以 unlist
models
将它们放在一个向量中,然后再次将其存储在 list
中。
library(dplyr)
my_df %>% group_by(gear) %>% summarise(models = list(unlist(models)))
# gear models
# <dbl> <list>
#1 3 <chr [15]>
#2 4 <chr [12]>
#3 5 <chr [5]>
我对列表的列表列很感兴趣。在下面的例子中,列表是每个碳齿轮组合的唯一模型。
my_df <- mtcars %>%
rownames_to_column('model') %>%
as_tibble() %>%
select(model, gear, carb) %>%
group_by(carb, gear) %>%
summarise(models = list(unique(model)))
# A tibble: 11 × 3
# Groups: carb [6]
carb gear models
<dbl> <dbl> <list>
1 1 3 <chr [3]>
2 1 4 <chr [4]>
3 2 3 <chr [4]>
4 2 4 <chr [4]>
5 2 5 <chr [2]>
6 3 3 <chr [3]>
7 4 3 <chr [5]>
8 4 4 <chr [4]>
9 4 5 <chr [1]>
10 6 5 <chr [1]>
11 8 5 <chr [1]>
现在假设我想将唯一模型汇总为每个齿轮的唯一模型。我希望做类似下面的事情,但它似乎并不尊重这些团体。
my_df %>%
group_by(gear) %>%
summarise(models = map(models, c))
我希望结果如下所示:
# A tibble: 3 × 2
# Groups: gear [3]
gear models
<dbl> <list>
1 3 <chr [15]>
2 4 <chr [12]>
3 5 <chr [5]>
您可以 unlist
models
将它们放在一个向量中,然后再次将其存储在 list
中。
library(dplyr)
my_df %>% group_by(gear) %>% summarise(models = list(unlist(models)))
# gear models
# <dbl> <list>
#1 3 <chr [15]>
#2 4 <chr [12]>
#3 5 <chr [5]>