r - 按列分组并用分号分隔
问题描述
使用 R 我试图从名称列中获取常见项目,然后按该列分组,并在一行中用分号聚合另一列。对于标识为 FA 的列,我想这样做。
由此:
Name FAs DS
Apple 21 180 A
Apple 21 190 D
Apple 21 100 A
Apple 11 130 A
Apple 11 110 A
对此:
Name FAs DS
Apple 21 180; 190;100 A
Apple 11 130;110 D
解决方案
你可以试试这个,FAs
因为没有给出明确的方向DS
。这类似于base R
@Onyambu 的出色解决方案,但使用dplyr
:
library(dplyr)
#Data
df <- structure(list(Name = c("Apple 21", "Apple 21", "Apple 21", "Apple 11",
"Apple 11"), FAs = c(180L, 190L, 100L, 130L, 110L), DS = c("A",
"D", "A", "A", "A")), row.names = c("1", "2", "3", "4", "5"), class = "data.frame")
#Code
df %>% group_by(Name) %>% summarise(FA=paste0(FAs,collapse = ';'))
# A tibble: 2 x 2
Name FA
<chr> <chr>
1 Apple 11 130;110
2 Apple 21 180;190;100
推荐阅读
- sql - 页面顶部的 Power BI 简单 YTD 按钮或切片器,用于过滤所有现有视觉效果(净销售额、GP1、数量等)
- django - 新用户无法在 Django 中登录会话
- google-cloud-platform - 在几分钟内获得实时 VideoIntelligence API 使用情况?
- javascript - Leetcode 695 javascript 递归未按预期工作
- javascript - Express:路由不是在异步函数中创建的
- python - C# 中的 numpy.expand_dims 等效项
- reactjs - 无法在 React 应用程序中通过谷歌日历 API 插入会议邀请
- python - 没有名为“pyrosetta.rosetta”的模块
- docker - 带有 GUI 的 Docker *Image*
- c# - Webrequest 正在将 base64 内容转换为 PDF 编码字节,因为内容类型在 c# webapi 中指定为 application/pdf