这是真实数据的一个更简单的例子,它是一个 N>100 的 NxN 矩阵。现在我要查找的是每一行的前 3 名,然后找出哪些列最常出现在前 3 名中,以及它出现在哪些行下。
A B C D E F G
A 0 70 5 73 96 46 58
B 47 0 20 89 75 50 19
C 42 98 0 30 30 22 76
D 66 20 18 0 63 18 60
E 73 0 63 51 0 23 7
F 79 34 61 56 12 0 99
G 25 26 41 86 51 30 0
现在,我试图通过创建一个二进制矩阵来找到相同的结果,如果一个单元格位于一行的前 3 个,那么它是 1,否则为 0;但是,我在创建一个不是矩形的表格时遇到了最大的困难。
A B C D E F G
A 0 1 0 1 1 0 0
B 0 0 0 1 1 1 0
C 1 1 0 0 0 0 1
D 1 0 0 0 1 0 1
E 1 0 1 1 0 0 0
F 1 0 1 0 0 0 1
G 0 0 1 1 1 0 0
最终产品应如下所示,其中 A 在条件 C、D、E 和 F 下位于前三名。
A D E C G B F
C (42) A (73) A (96) E (63) C (76) A (70) B (50)
D (66) B (89) B (75) F (61) D (60) C (98)
E (73) E (51) D (63) G (41) F (99)
F (79) G (86) G (51)
任何正确方向的建议或观点将不胜感激。
谢谢!