问题标签 [tidygraph]

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 回答
140 浏览

tidygraph - r tidygraph 在满足条件的层次结构中找到第一个父级

找到报告线内的第一个批准人,该批准人至少高 2 个等级。例如,等级 0 比等级 2 高两个等级。

员工图

我正在尝试创建一个新的节点属性 Approver,它应该为员工 H、E、F、G 填充,它们都应该将批准者标识为员工 A。

我一整天都在试图弄清楚这一点,但并不真正了解如何进行一跳遍历,更不用说几次了。我的理解是,呼吸优先搜索 BFS 将从叶节点开始,然后沿着树向上工作。我真的很纠结如何访问树的不同部分。

非常感谢任何帮助。

0 投票
1 回答
105 浏览

r - 过滤表中的定向共现

我有可以用两列表示的共现数据。每列中的条目来自同一组可能性。最终,我的目标是绘制一个有向网络,但首先我想将表格分成倒数(即 X->Y 和 Y->X)和仅在一个方向上发生的那些(即只有 Y->Z )。这是一个例子:

这是我想要的输出:

如果共现是互惠的,则条目的顺序无关紧要,我只需要它们的名称共现不需要知道方向。

这感觉像是一个图问题,所以我试了一下,但我不熟悉使用这种类型的数据,而且大多数教程似乎都涵盖了无向图。查看tidygraph我理解的igraph包使用我尝试过的包:

然而,这使边缘与节点分离并重复相互的共现。有没有人有这种数据的经验?

0 投票
0 回答
161 浏览

r - R中的随机图函数

我有一个任务,我必须在 R 中生成我自己的随机图函数,并带有 igraph 输出。我发现最简单的方法是简单地生成一个方阵,然后构建一个在矩阵中的节点之间创建边的函数。但是我想做一些特别的事情,其中​​边缘的概率基于形成更高的女巫网络可能性。看起来像这样:

在此处输入图像描述

我的矩阵是这样生成和可视化的:

我知道有像 Erdos-Renyi Random-(用于真正的随机图)、Barabási-Albert Scale-Free-和 Watts-Strogatz Small-World 图这样的函数。我正在尝试以独特的方式编写自己的作品。

任何关于如何为随机矩阵编写我自己的优先附件函数的建议或代码片段将不胜感激!谢谢!

0 投票
5 回答
1612 浏览

r - 使用 tidygraph 将来自相同两个节点的两条边合并为一条

我正在努力弄清楚如何将相同的 2 个节点之间的 2 条边折叠成 1 条,然后计算这些边的总和。

我相信有一种方法可以做到igraph

simplify(gcon, edge.attr.comb = list(weight = "sum", function(x)length(x)))

但如果可能的话,我想这样做,tidygraph因为到目前为止我已经成功地实施了,tidygraph而且我对tidyverse工作方式更加熟悉。

我的数据如下所示:

'from' 和 'to' 包含相同的 id(例如 from-to;0-1 和 1-0)。我想浓缩,以便只存在 0-1 关系的一次迭代,并Strength计算总和。

到目前为止,这是我的代码:

是否可以将两条对应的边合并为一条边?我搜索了论坛,但只遇到了相同节点在相同列中重复的引用(即跨多行的 0-1)。

0 投票
2 回答
158 浏览

r - 在 TidyGraph 中计算 Everett-Valente 经纪分数

我想为我的定向网络中的每个节点计算 Everett-Valente 经纪分数(Everett 和 Valente 2016)。该分数基于中介中心性。本质上,这控制了网络大小。代理控制信息/资源流的能力受网络规模和/或连接冗余的影响。对于无向图,Everett - Valente Brokerage Score 计算如下:

  1. 计算节点中介中心性。
  2. 将每个节点的计算中介中心性加倍,并将 (n - 1) 添加到每个非挂起条目。
  3. 将每个非零分数除以节点的度数。

我计划使用 if_else 语句来处理非挂起和零分数,例如

我不知道如何实现 ev_brokerage(条件语句)。为了将其扩展到定向案例,Everett 和 Valente (2016) 提供了以下规则:

对于电动汽车内经纪业务:

  1. 计算 v 的节点介数中心性。
  2. 如果节点中介中心性 = 0 添加 j,其中 j = 可以到达 v 的顶点数。
  3. 将每个非零和除以 v 的入度。

对于 EV 外经纪业务:

  1. 计算 v 的节点介数中心性。
  2. 如果节点中介中心性 = 0 添加 k,其中 k = v 可以到达的顶点数。
  3. 将每个非零和除以 v 的出度。

v 的 EV 经纪业务 = EV 内和 EV 外的平均值。

如果有人可以帮助我使用 mutate() 语句,我将不胜感激。我想知道如何在有向情况下计算出 j 和 k,并在无向情况下计算出非挂接节点。

0 投票
1 回答
200 浏览

r - 使用 tidygraph 导出每个组的节点和图级指标

我正在尝试来自不同实验处理的网络上的 tidygraph,并且最感兴趣的是获取图形范围的指标以及可能的节点级指标。我似乎无法理解 tidygraph 的工作方式。

我正在使用 R v3.5 和 tidygraph v1.1。

我的数据是这样组织的:

如果我想为每次治疗获得一个图形范围的指标,例如直径,我很想这样做:

但是我不确定结果,因为然后给出了每个边缘的直径,而我期望每次处理(每个图表)都有一个测量值。

同样,如果我想导出一些指标,例如每个处理的每个节点的连接性,这似乎不是那么简单,因为处理变量是从节点表中删除的。在调用as_tbl_graph()之前,我一直在尝试各种技巧,例如将治疗 ID 粘贴到fromto列:

但我得到的错误是结果向量的大小错误(6 而不是 3 或 1)。

tidygraph 有没有办法派生组级图形范围和节点级指标?

0 投票
2 回答
1043 浏览

r - 使用存在/不存在数据的共现网络 R

我正在尝试为我的细菌种类的存在/不存在数据制作一个共现网络图,但我不确定如何处理它。我希望最终得到类似这样的输入图像描述,如果每个物种都存在于同一个患者中,则每个物种都与另一个物种相关联,对于更高频率的物种,更大的圆圈。我最初尝试使用 widyr 和 tidygraph 包,但我不确定我的数据集是否与它们兼容,请在此处输入图像描述,因为它将患者作为列,将单个物种作为行。最好我想知道我可以使用哪些包/代码来处理我的数据集,或者我如何更改我的数据集以处理这些包。

0 投票
1 回答
206 浏览

r - 如何在 tidygraph 对象上使用 furrr 应用映射函数?

使用 furrr 对 tidygraph 中心性函数进行并行计算会引发错误:

“mutate_impl(.data, dots) 中的错误:评估错误:不应直接调用此函数。”

这是我的代码:

我应该如何解决这个问题?

0 投票
1 回答
448 浏览

r - 向 tidygraph 对象添加属性列

我试图弄清楚如何将属性数据添加到专门用于绘图目的的 tidygraph 对象。我似乎无法弄清楚如何获取与变量级别关联的变量,当我创建 tidygraph 对象以供稍后在绘图中使用时保留它。所以在下面的代表中,我想按高度着色,但这种方法让我无法理解

任何人都可以推荐任何添加height到这个情节的好方法吗?

reprex 包(v0.2.1)于 2019 年 3 月 11 日创建

0 投票
0 回答
346 浏览

r - tbl_graph 函数失败

我应用 igraph 来可视化讨论论坛上的网络。

当我检查 edgelist 的矩阵时,没有负数。我还用 0 填充缺失值