问题标签 [edge-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

r - 将边缘列表转换为图形不会保留值

我试图将边缘列表转换为加权图(即保留边缘列表中的值)。这是我的边缘列表:

这是我正在使用的代码:

但是我的邻接矩阵以 1 和 2 结束,而不是边缘列表中的值。

它看起来像这样:

我究竟做错了什么?

这是一个可重现的示例:

0 投票
1 回答
98 浏览

r - 根据二分网络边列表中的公共顶点创建新边列表

我有两组节点的边缘列表,如下所示:

我需要做的是根据节点的公共边分别为节点上的每个集合生成一个图。例如,如果在“a”和“g”中都找到边列表中的“48”,我想在字母加权图中有一个“ag”边......数字图也是如此。如果您帮助创建边缘列表或图表,我将不胜感激。

0 投票
0 回答
20 浏览

r - 如何将二进矩阵转换为边列表

我有这样的数据

提名人 被提名人1 被提名人2 学校
1101 1104 1105 01
1102 1105 不适用 01
1103 1104 1105 01
1106 1107 不适用 02
1108 1107 1108 02

这是二进矩阵。在每所学校中,The Nominator 与 Nominees 1 和 Nominees 2 都有联系,并在每列中给出 id。我想根据这个二元矩阵创建 2 个有向边列表,每个用于学校 1 和学校 2。例如,在每所学校,我都想要一个矩阵。该矩阵将第一列为提名人,第二列为他/她的提名人。我是 R 的新手。我知道 igrpah 具有从边列表创建图形的功能,但不是从这种类型的矩阵创建图形,所以我想将其转换为边列表。太感谢了

提名人 被提名人
1101 1104
1101 1105
1102 1105
1103 1104
1103 1105
0 投票
1 回答
50 浏览

r - 将顶点查找表与边列表进行比较并将顶点标签分配给任何匹配的边的有效方法

我有两个数据框。首先,一个包含顶点名称列表的查找表:

然后我有一个看起来像这样的边缘列表:

对于“查找”表中的每个唯一顶点,我想遍历“边”表并标记查找 $ 名称位于顶点之间的每个 edgeID。

我可以使用以下脚本来做到这一点:

问题是这对于大型边缘列表似乎效率低下。在我的真实数据中,“查找”有 3,263 个观察值,而“边缘”有 167,775,170 个观察值。我已经尝试在具有 16 个内核和 100GB 或 RAM 的 Amazon EC2 实例上运行上面的脚本两天了,但看不到尽头(使用“future_lapply”而不是“lapply”来允许并行处理)。有什么办法可以让这更有效/更快?

这不是我唯一一次需要像这样对边进行分组,我希望找到一种在时间和亚马逊账单方面不那么昂贵的方法。

0 投票
1 回答
296 浏览

r - 从 igraph 中的边缘列表创建对象

我是 igraph 的新手。我将它与 R 一起使用(我也是新手)。我想稍后使用 CINNA R 包,但我正在努力将我的网络加载到 igraph/从我的文件中创建一个 igraph 对象。到目前为止我已经尝试过:

--> 然后 R 崩溃。

有人了解我的问题并知道如何解决吗?

0 投票
2 回答
94 浏览

r - 使用带有 grepl 和循环的名称列表从字符串中提取名称,并将它们添加到 R 中的新列

我有一个数据集,其中有一列包含姓名,一列指示该人白天做了什么。我试图找出谁在那天使用 R 在我的数据集中遇到了谁。我创建了一个包含数据集中名称的向量,并在循环中使用 grepl 来识别名称出现在详细说明人们活动的列中的位置在数据集中。

然而,由于两个原因,该解决方案并不令人满意。当此人遇到多个其他人(例如 Dupuy 在我的示例中)时,我无法提取多个名称,并且我不能告诉 R 在使用该名称而不是代词时不要返回该人的姓名活动栏(例如史密斯)。

理想情况下,我希望 df 看起来像:

我正在清理字符串以构建边缘列表和节点列表,以便稍后进行网络分析。

谢谢

0 投票
2 回答
32 浏览

pandas - 如何创建基于简单 Datafrme 的网络图

我想知道如何根据这种类型的数据创建一个边缘列表(从,到)。两列都在 pandas 数据框中,类型为字符串。

姓名 合作伙伴
一个 A B C D
A B C D
C A,B,C,E
D A,B,D,E
C,D,E

而且我还想删除像 AA BB CC 之类的连接,....

0 投票
1 回答
51 浏览

edge-list - How to prevent Networkit from changing the nodes id when reading an edgelist

I have a csv file that represent a direct graph, it's an edgelist with non continuous id nodes and i read it in a neworkit graph with the method

reader = nk.graphio.EdgeListReader(',',1,'#',directed=True,continuous=False)

The problem is that networkit change the nodes id, it should be caused by the fact that the nodes of my graph start from an arbitrary number (not 0 or 1) and are not continuous. I wonder if there is a way to prevent this from happening without having to change the numbering of my nodes.

Here a view of my edgelist

And here the code to see nodes id are changed

0 投票
2 回答
55 浏览

r - 如何从计算 R 中出现次数的单列创建对?

所以我正在为基于 IMDb 数据的社交网络分析创建一个边缘文件。我遇到了一个问题,我不知道如何解决它,因为我是 R 新手。

假设我有以下数据框:

电影ID 船员编号 评分
一个 Z 7.3
一个 7.3
一个 X 7.3
Z 2.1
2.1
C 9.0
C X 9.0
C 9.0

我正在尝试在电影中构建独特的 CrewID 对,其权重等于该对的出现次数,这意味着这两个工作人员一起制作电影的频率。所以基本上我想要一个像下面这样的数据框:

船员 ID1 船员 ID2 重量 (不是col,而是解释)
Z 1 在电影A中在一起过一次
Z X 1 在电影A中在一起过一次
X 2 在电影 A 和 C 中在一起两次
Z 1 在电影B中在一起过一次
X 1 在电影C中在一起过一次
1 在电影C中在一起过一次

对 (Z,Y) 和 (Y,Z) 彼此相等,因为我不关心方向。

我在类似的问题上找到了以下 StackOverflow 线程: 如何根据 R 中的出现顺序从单个列创建对?

但是在我的情况下,这会跳过 (V,Y) 和 (X,Z) 的组合,并且 (X,Y) 的计数仍然是 1,我不知道如何修复它。

0 投票
0 回答
31 浏览

python - 熊猫列到有向图的边缘列表

我有以下数据框:

我需要创建这种类型的边缘列表:

使用 NetworkX 创建有向图