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

如何识别转换表中的独立子集?求R或DuckDB SQL高效方案

问题:经济分类转换组的唯一标识分配

原始转换规则表

原始转换规则的R语言定义如下:

df0 <- data.frame(
  old=c("a","b","b","c","c","d","e","f","g","h","h","i"),
  new=c("A","A","B","B","C","C","C","D","D","E","F","G"))

该表的分类转换逻辑:

  • 旧分类h拆分至新分类E、F
  • 旧分类f、g合并为新分类D
  • 旧分类i直接转换为新分类G
  • a、b、c、d、e属于不可拆分的关联转换组(通过共享新分类形成关联链:a→A关联b,b→B关联c,c→C关联d、e)

需求说明

需要为old列的4个独立子集分配唯一标识,期望输出如下:

data.frame(
  old= c("a","b","c","d","e","f","g","h","i"),
  id = c(  1,  1,  1,  1,  1,  2,  2,  3,  4))

当前困境与诉求

已通过base-R的双循环求交集方式实现,但该方法在处理大规模分类数据时效率极低。现寻求两种优化方案:

  • 基于R包中底层语言实现的高效解决方案
  • 更优的DuckDB SQL解决方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:38:15