简体   繁体   English

如何将分组 tibble 中的列汇总为唯一值列表

[英]How to summarise a column in a grouped tibble into a list of unique values

Suppose I run the following code:假设我运行以下代码:

library(tidyverse)
tbl <- tibble::tribble(
          ~name,       ~fruit,
          "dan",      "apple",
          "dan",      "apple",
          "dan",     "banana",
       "george",     "banana",
       "george", "watermelon",
       "george",     "banana",
       "lauren",       "kiwi",
       "lauren",       "kiwi",
       "lauren",       "kiwi"
       )

tbl %>%
    group_by(name) %>%
    summarise(fruits = unique(list(fruit)))

This is the table I get:这是我得到的表:

在此处输入图像描述

Why is it still displaying non-unique fruits in each list?为什么它仍然在每个列表中显示非唯一的水果?

Change改变

tbl %>%
    group_by(name) %>%
    summarise(fruits = unique(list(fruit)))

to

tbl %>%
    group_by(name) %>%
    summarise(fruits = list(unique(fruit)))

Output: Output:

name姓名 fruits水果
dan apple, banana苹果、香蕉
george乔治 banana, watermelon香蕉、西瓜
lauren劳伦 kiwi猕猴桃

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM