删除 Igraph 中的所有边
Removing All Edges in Igraph
我有以下网络图:
library(tidyverse)
library(igraph)
set.seed(123)
n=15
data = tibble(d = paste(1:n))
relations = tibble(
from = sample(data$d),
to = lead(from, default=from[1]),
)
graph = graph_from_data_frame(relations, directed=T, vertices = data)
V(graph)$color <- ifelse(data$d == relations$from[1], "red", "orange")
plot(graph, layout=layout.circle, edge.arrow.size = 0.2)
我正在尝试查看如何从此图中删除“边缘”。
我找到了以下删除“边缘”的代码(https://igraph.org/r/doc/igraph-minus.html):
#remove the "edge" between "node 14 and node 10"
g = graph
g <- g - edge("14|10")
plot(g)
有没有快速删除图中所有“边”的方法?
for (i in 1:15) {
for (j in 1:15) {
g <- g - edge("i|j")
}
}
但这不起作用:
Error in as.igraph.vs(graph, vp) : Invalid vertex names
有没有更好的办法把所有的边一条一条去掉?
谢谢!
如果你想去除所有的边,你可以使用
g <- graph-E(graph)
plot(g)
如果你想创建一个没有任何边的图,你可以试试下面的代码
make_empty_graph(15)
我有以下网络图:
library(tidyverse)
library(igraph)
set.seed(123)
n=15
data = tibble(d = paste(1:n))
relations = tibble(
from = sample(data$d),
to = lead(from, default=from[1]),
)
graph = graph_from_data_frame(relations, directed=T, vertices = data)
V(graph)$color <- ifelse(data$d == relations$from[1], "red", "orange")
plot(graph, layout=layout.circle, edge.arrow.size = 0.2)
我正在尝试查看如何从此图中删除“边缘”。
我找到了以下删除“边缘”的代码(https://igraph.org/r/doc/igraph-minus.html):
#remove the "edge" between "node 14 and node 10"
g = graph
g <- g - edge("14|10")
plot(g)
有没有快速删除图中所有“边”的方法?
for (i in 1:15) {
for (j in 1:15) {
g <- g - edge("i|j")
}
}
但这不起作用:
Error in as.igraph.vs(graph, vp) : Invalid vertex names
有没有更好的办法把所有的边一条一条去掉?
谢谢!
如果你想去除所有的边,你可以使用
g <- graph-E(graph)
plot(g)
如果你想创建一个没有任何边的图,你可以试试下面的代码
make_empty_graph(15)