字符列 grop by 和 paste 的聚合

我有下一个数据框:

col1<-c("A1","B1","A1","C1","A1")
col2<-c("a","b","c","d","f","a")
dat<-data.frame(col1,col2)

从以前的数据框中我想得到这样的东西:

A1   "ac"
B1   "bd" 
C1   "bf"

我的意思是,我需要通过在 col 2 中粘贴唯一值来聚合 col1 中的代码。

我正在尝试这样的事情

   dat%>%group_by(col1)%>%summarise(pp=paste0(col2))

但它不起作用。

huangxi500 回答:字符列 grop by 和 paste 的聚合

unique 行上执行此操作。此外, paste0 本身不起作用。它需要额外的参数 collapse

 aggregate(col2~ col1,unique(dat),FUN = paste,collapse="")

library(dplyr)
library(stringr)
dat %>%
   distinct %>%
   group_by(col1) %>%
   summarise(pp = str_c(col2,collapse=""),.groups = 'drop')

-输出

# A tibble: 3 x 2
  col1  pp   
  <chr> <chr>
1 A1    ac   
2 B1    bd   
3 C1    bf   
本文链接:https://www.f2er.com/13597.html

大家都在问