r - 在R中的groupby之后连接唯一的字符串
问题描述
我正在对数据框进行分组并想要连接唯一的字符串。
data= data.frame(
aa=c(1,2,3,4,5,6,7,8,9,10),
bb=c('a','a','a','a','a','b','b','b','b','b'),
cc=c('hello','hello','hi','message','bye','q','w','r','r','t'))
期望的输出:
bb cc
a 'hello hi message bye'
b 'q w r t'
目前我正在这样做(这里建议):
result<- data %>%
group_by(bb) %>%
mutate(body = paste0(cc, collapse = "")) %>%
summarise(t_body = first(body)
但是我得到了所有的字符串而不是唯一的字符串。
解决方案
粘贴前使用unique
on cc
,也不需要mutate
step,直接使用summarize
即可:
data %>%
group_by(bb) %>%
summarise(cc = paste(unique(cc), collapse = ' '))
# A tibble: 2 x 2
# bb cc
# <fct> <chr>
#1 a hello hi message bye
#2 b q w r t
推荐阅读
- javascript - 拖放时如何检查文件扩展名
- google-chrome-devtools - Chrome devtools 检查器在调试 Tizen Web 应用程序时显示空白屏幕
- python - 如何将命令行的输出处理到 python 中?
- javascript - 按相对于文件路径的距离对文件路径数组进行排序
- kubernetes - Pyignite Client.connect 失败:连接被拒绝
- php - 动态更改每个模型的 Laravel 数据库连接
- r - 将滚动函数应用于具有自定义窗口大小的 R 中的 data.table
- html - HTML 图像和 PhpStorm
- laravel - Laravel eloquent filter on hasMany 关系
- google-chrome - Windows 使用定义的进程 ID 批量启动 chrome 进程