小编Ben*_*Ben的帖子

生成网络中不同的节点组

问题

给定以下节点和边缘网络,我想导出所有可能的节点分组,其中组内的所有节点都通过一条边连接到该组内的所有其他节点。

网络

在这个网络中...

  • 由于节点“ B”,“ C”和“ F”完全互连,因此它们在一个组中
  • “ A”与其自身仅属于一个组。
  • “ D”和“ B”将在一个组中,但“ D”将不属于与“ B”,“ C”和“ F”组成的组,因为它没有直接连接到“ C”和“ F” '通过边缘。

换句话说,规则如下:

  1. 组的所有成员必须直接通过边缘连接到该组的所有其他成员。

  2. 一个对象可以是多个组的成员。

  3. 没有多余的组。如果一个组可以容纳较大的组,则它不是一个组。(例如,“ B”和“ C”本身并不包含有效的组,因为它们都适合“ B”,“ C”和“ F”的较大组)。如果对象不属于任何其他组,则它只能在单个组(例如AA)中。


我已将上面的网络表示为一个数据帧,其中每一行代表由边绑定的成对节点(x1和x2):

x1 <- c("A", "B", "B", "B", "B", "C", "C", "C", "D", "D", "D", "E", "E", "F", "F", "F")
x2 <- c("A", "B", "C", "D", "F", "B", "C", "F", "B", "D", "E", "D", "E", "B", "C", "F")

df <- data.frame(x1, x2)
Run Code Online (Sandbox Code Playgroud)

鉴于此df,我想导出以下有效组(以可视以及数据框形式提供):

在此处输入图片说明

     1    2    3    4   
1    A    B    B    D       
2 …
Run Code Online (Sandbox Code Playgroud)

networking grouping r cluster-analysis nodes

6
推荐指数
1
解决办法
175
查看次数

标签 统计

cluster-analysis ×1

grouping ×1

networking ×1

nodes ×1

r ×1