【发布时间】:2011-06-10 15:20:48
【问题描述】:
我有一个包含 10 列的数据集。第一列是唯一标识符。其他 9 列是相关属性。现在,我们只说它们是整数。如果需要,可以轻松地将数据转换为键值。
例如:
id|attr1|attr2|attr3|...
a | 2 | 5 | 7 |...
b | 3 | 1 |null |...
c | 2 |null |null |...
d | 1 | 2 | 5 |...
e | 2 | 1 | 3 |...
我本质上是在寻找任何长度与至少一对的最常见组合。所以我的输出是:
unq | frequency
1,2 | 2
1,3 | 2
1,5 | 1
2,3 | 1
2,5 | 2
2,7 | 1
1,2,3 | 1
1,2,5 | 1
2,5,7 | 1
(手动完成 - 所以希望没有错误) - 配对的顺序无关紧要。 2,5,7 = 5,2,7 = 7,5,2 etc.
有什么想法吗?我对不同的工具持开放态度。我可以访问 R、excel、sql server、mysql 等。
Excel 是首选但不是必需的!
【问题讨论】:
-
有多少个属性,一个属性的取值范围是多少?幼稚的算法可能无法扩展,我不知道是否有任何易于处理的算法(但我不是这方面的专家)
-
你能解释一下你是如何从你的数据集中得到答案的吗?我正在努力理解“任何长度的最常见组合至少有一对”。
-
得到了一些更好的信息。它可以有 1 到 9 个属性。 @Richie - 基本上对于 D 行 - 以下是该行的所有唯一组合(分号分隔):
1 2 5 1,2 1,5 2,5 1,2,5所以唯一符合“至少一对”的条件是1,2 1,5 2,5 1,2,5这有帮助吗?如果没有,请随时再次询问。我想明确回答。