在R语言中如何基于三层Tier关联规则对账户数据进行分组?
账户分组需求与示例
原始账户数据
| Account | Tier 1 | Tier 2 | Tier 3 |
|---|---|---|---|
| Account 1 | 1 | 21 | 55 |
| Account 2 | 1 | 21 | 55 |
| Account 3 | 2 | 52 | 72 |
| Account 4 | 2 | 52 | 66 |
| Account 5 | 3 | 52 | 66 |
| Account 6 | 3 | 52 | 99 |
| Account 7 | 4 | 63 | 43 |
| Account 8 | 4 | 63 | 49 |
| Account 9 | 5 | 36 | 94 |
| Account 10 | 5 | 42 | 55 |
分组规则
- 账户间若Tier 1值相同,视为关联
- 账户间若通过Tier 3值关联(如Account 1、2、10的Tier 3均为55),视为关联
- 关联关系可传递:只要存在间接关联路径,所有关联账户需归为同一最终分组(例如Account 9与Account 10的Tier 1值相同,因此Account 9需归入Account 1、2、10的分组)
期望分组结果
| Account | Tier 1 | Tier 2 | Tier 3 | Final Group |
|---|---|---|---|---|
| Account 1 | 1 | 21 | 55 | Group 1 |
| Account 2 | 1 | 21 | 55 | Group 1 |
| Account 3 | 2 | 52 | 72 | Group 2 |
| Account 4 | 2 | 52 | 66 | Group 2 |
| Account 5 | 3 | 52 | 66 | Group 2 |
| Account 6 | 3 | 52 | 99 | Group 2 |
| Account 7 | 4 | 63 | 43 | Group 3 |
| Account 8 | 4 | 63 | 49 | Group 3 |
| Account 9 | 5 | 36 | 94 | Group 1 |
| Account 10 | 5 | 42 | 55 | Group 1 |
注:以上为简化场景,实际业务中涉及7层以上Tier维度,数据量达50万条。
内容的提问来源于stack exchange,提问作者Queue_Underflow
相关产品推荐
相关产品推荐

