首页 > 解决方案 > 如何使用收集功能来操作我的数据框?

问题描述

我有一个数据框如下:

df <- data.frame(Name = c("a","c","d","b","f","g","h"), group = c(2,1,2,3,1,3,1))

  Name group
   a     2 
   c     1
   d     2
   b     3
   f     1
   g     3
   h     1

我想使用 tidyverse 包中的收集功能将我的数据框重塑为以下格式。

  group  Name total
    1   c,f,h   3
    2    a,d    2
    3    b,h    2

你知道我该怎么做吗?

谢谢,

标签: rdataframedplyrtidyversetidyr

解决方案


我们可以用 'group' 和paste'Name' 的元素进行分组toString,同时用 得到元素的总数n()

library(dplyr)
df %>% 
  group_by(group) %>%
  summarise(Name = toString(Name), total = n())

推荐阅读