Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的值对交点_R_Set_Set Intersection - Fatal编程技术网

R中的值对交点

R中的值对交点,r,set,set-intersection,R,Set,Set Intersection,我在R中有以下矩阵,但有22k个条目: > unbalanced row col [1,] 1 3 [2,] 4 5 [3,] 4 6 [4,] 5 6 [5,] 9 10 [6,] ... 是否有办法将该矩阵划分为相交数据的集合? 我的意思是: 如果任何行之间存在交集,我需要一个集合,其中包含这些行的结果并集。 理想情况下,最后我会有一个非相交集的列表,其中包含来自原始矩阵的所有数据 类似这样的情况(基于上述

我在R中有以下
矩阵
,但有22k个条目:

> unbalanced
      row  col
[1,]    1    3
[2,]    4    5
[3,]    4    6
[4,]    5    6
[5,]    9   10
[6,]    ...
是否有办法将该矩阵划分为相交数据的
集合
? 我的意思是: 如果任何行之间存在交集,我需要一个集合,其中包含这些行的结果并集。 理想情况下,最后我会有一个非相交集的列表,其中包含来自原始
矩阵的所有数据

类似这样的情况(基于上述示例):

我过去在python中实现过类似的东西(使用迭代),但R是一个完全不同的“野兽”,可以而且应该避免像
for
循环这样的迭代

提前感谢您提供的任何建议

更新:

使用@A.Webb的答案,使用
aggregate(col~row,unbalanced,FUN=list)
可以让我更接近我想要的,但是仍然有一个遗漏的细节,从最初的问题中可能看不出来。 上面提到的解决方案提供了一个包含公共数据的集合列表(我在comments部分称之为重叠集合)。 为了说明这一点,我在下面的列表中得到:

        row   col
...
[160,]  160   c(161, 162, 194, 559, 1195)
[161,]  161   c(162, 194, 559, 1195)
...
我需要的是这两个集合的并集,因为它们的交集不同于∅ (空集)。
我还应该补充一点,我不需要名为“row”的列,因此任何丢弃它的解决方案对我来说都是可以的。我只需要一个包含集合的列表。

澄清的问题听起来像是你在试图识别图论中所谓的连通分量。您有一个邻接矩阵的稀疏矩阵表示(请参见
矩阵
中的
sparseMatrix
),您希望从中识别连接的组件(请参见'igraph
中的
集群
,它与
矩阵兼容)澄清的问题听起来像是在试图识别图论中所谓的连通组件。您有一个邻接矩阵的稀疏矩阵表示(请参见
矩阵
中的
sparseMatrix
),您希望从中识别连接的组件(请参见'igraph
中的
集群
,它与
矩阵兼容)
        row   col
...
[160,]  160   c(161, 162, 194, 559, 1195)
[161,]  161   c(162, 194, 559, 1195)
...