You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于日期时间匹配MixedGroup并生成分组及匹配编号列的技术问询

数据集进阶处理实现思路

原始数据集

Date         TimeObserved     IndividualsObserved      Group
 01/01/2018         09.00      Elliot, Azur, Noir       MixedGroup
 01/01/2018         09.00      Azur, Bleue, Rouge       GroupB
 02/01/2018         09.00      Chapman, PJ, Jackson     GroupA
 02/01/2018         09.00      Mississippi, Missouri    GroupC
 03/01/2018         10.00      Eben, Azur, Bleue, Noir  GroupB
 03/01/2018         10.00      Eben, Azur, Bleue        GroupB
 03/01/2018         10.00      Eben, Azur, PJ, Noir     MixedGroup
 03/01/2018         10.00      Chapman, Bowie, Shakira  GroupA
 03/01/2018         10.00      Murray, Mississippi, Mia GroupC
 04/01/2018         10.00      Mississippi, Mia         GroupC
 04/01/2018         10.00      Murray, Azur, Eben       MixedGroup
 04/01/2018         10.00      Shakira, Jackson, Bowie  GroupA
 04/01/2018         10.00      Bleue, Noir, Rouge       GroupB

组成员定义

groupA = c("Chapman", "PJ", "Jackson", "Elliot", "Bowie", "Shakira")
groupB = c("Azur", "Bleue", "Rouge", "Noir", "Eben")
groupC = c("Mississippi", "Missouri", "Murray", "Mia")

需求说明

识别同一日期和时间下包含MixedGroup的条目组,添加Group1、Group2列标识混合涉及的分组;同时生成MatchNumber列,为同日期时间下混合组关联的所有条目分配统一编号。


实现步骤

1. 按日期+时间分组,标记含MixedGroup的分组

用数据处理工具(如dplyr)按Date+TimeObserved对数据集分组,新增标记列判断当前分组是否存在Group == 'MixedGroup'的条目。

2. 解析MixedGroup条目涉及的分组

对每个MixedGroup条目,拆分IndividualsObserved字段为人员列表,逐个匹配到对应的预定义组(groupA/groupB/groupC),去重后得到该混合组涉及的分组集合(比如{A,B}),将结果分别存入Group1、Group2列(多组混合可扩展更多列)。

3. 分配MatchNumber

  • 对所有包含MixedGroup的日期+时间分组,按出现顺序分配唯一递增的MatchNumber(从1开始)。
  • 将该编号关联到同日期+时间下的所有条目;无MixedGroup的分组,MatchNumber设为NA。

4. 补全非MixedGroup条目的分组列

对非MixedGroup的条目,根据其Group字段直接填充Group1(如GroupA对应A、GroupB对应B),Group2设为NA。

5. 整理输出格式

调整列顺序与目标输出一致,统一NA值的显示格式。


内容的提问来源于stack exchange,提问作者MIGUEL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 13:16:23