我正在R中学习igraph,并且对如何向图中添加节点以及如何通过指定其两个节点来删除边有疑问。 这是我的代码,用于创建具有4个节点和一些边缘的图形。

g <- as.data.frame(cbind(matrix(c(1, 2, 1, 3, 1, 4, 3, 4, 2, 4), byrow = TRUE, ncol = 2), c(5.6, 2.7, 3.5, 1.8, 2.1)))
names(g) <- c("start", "end", "length")
g <- graph.data.frame(g, directed = FALSE)
plot(g)

在此处输入图片说明

这里的length表示属性edge(边缘的长度)。 我想在图上添加一个节点5。 该节点将在1和2之间。现在边1--2的长度为5.6。 节点5与节点1之间的距离为2.6,与节点2之间的距离为3.0。我想添加这两个边(1--5和2--5)。 我还需要通过告诉R删除节点1和节点2之间的边来删除1--2边。

这样做的简单方法是什么? 谢谢。

===============>>#1 票数:5 已采纳

就像是:

library(igraph)

g <- as.data.frame(cbind(matrix(c(1, 2, 1, 3, 1, 4, 3, 4, 2, 4), 
                                byrow = TRUE, ncol = 2),
                         c(5.6, 2.7, 3.5, 1.8, 2.1)))
names(g) <- c("start", "end", "length")

g <- graph.data.frame(g, directed = FALSE)

# add node 5
g <- g + vertices(5)

# delete edge 1-2
g["1", "2"] <- NULL

# add new edges with length attribute
g <- g + edge("1", "5", attr=list(length=2.6))
g <- g + edge("2", "5", attr=list(length=1.3))

plot(g)

在此处输入图片说明

  ask by Patrick Li translate from so

未解决问题?本站智能推荐:

1回复

更改特定边缘igraph R的顶点节点颜色

我正在使用无向图。 我正在寻找绘制图形,并为那些满足某些条件的节点上色。 我有一个包含不良和不良边缘的数据框。 我将列的好边缘设置为color = darkgrey darkgrey,坏边的color = red 我的边缘列表如下: (为此,我在dob_diff列上运行以
1回复

在R中的网络中在节点之间创建边

我使用igraph库在R中创建了无向的Erdos-Renyi网络。 它有100个节点,p = 0.2: 我还创建了两个空网络: 我根据生成的随机数(0-1之间),从原始网络向net1和net2添加边。 如果此随机数在0-0.1之间,则边缘进入net1;如果该随机数在0.1-0
1回复

R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

我是R的新手,我有一个图形对象,它是从数据框对象“ allTog”创建的,如下所示: allTog数据帧由下式给出 列“ row.names”和“ values”在这里没有意义。 如何从每个根节点(在本例中为“ chamber”)遍历到每个叶节点并获取路径,即所有节点(顶
1回复

在R中的广度优先搜索期间改变节点的属性

我创建了一个有100个节点的随机(Erdos-Renyi)图。 我已将所有100个节点的属性值设置为0.我找到具有最大度数(最多邻居)的节点,并将其属性值从0更改为1.然后,使用节点作为根节点,以及另一个节点作为第二个根节点,我在网络上进行广度优先搜索(BFS)。 这与这个问题有关 。
1回复

使用R中的两组节点构建图

我正在尝试使用具有相同大小的两组节点在R中构建图。 每个列表中都有一些代表节点号的数字。 我希望第一个列表中的每个节点都连接到另一个列表中的相应节点。 例如,list1 [1]应该连接到list2 [1],依此类推。
1回复

从igraph.es(边缘序列)到R中的节点

我想根据它们连接的节点的值(当然是在R igraph中)设置图形中一定范围的边的边属性。 当我在图形对象中检索某个边缘时,会得到一个边缘序列对象: 如何从该边缘序列获得实际边缘? 我发现的唯一相关功能是as_ids : 然后,我必须拆分字符串以获取节点ID,将ID转换为整
1回复

在R包igraph中,如何通过将边缘属性除以出节点的节点属性来规范边缘属性?

基本上,如何将相同节点属性的划分应用于以该节点为边缘来源的所有边缘。 例如,这可以用于对邻接矩阵进行行归一化。
1回复

在R中链接两个不同随机网络中的两个节点

我使用R(和igraph包)创建了两个随机(Erdos-Renyi)网络,每个网络都有10个节点。 两个网络中的每个节点都被随机分配了0或1的属性。 这是我执行此操作的代码: 我需要以某种方式将第一个图的随机选择的节点链接到第二个图的随机选择的节点。 因此,如果从第一张图选择的
2回复

从igraph中的图形中删除未连接的短路径

我正在使用igraph中的网络,我有一个网络,其中有短的连接节点,彼此重叠,所以我们不要exaclt看到边缘。 我想删除这样的短连接节点,因为它们没有连接到主网络。 由于节点不是0度,因此度数不起作用,它们要么连接到一个或多个基因,但仍然不在主网络中。即使主网络显示一些重叠基因,我也想纠正它
1回复

在R中如何从igraph中删除小社区

在R网络图中,如何删除小的二元共同体(两个节点与一个边缘相连,而与其他节点不相连,例如本例中的jane和ike: