给定两个相同大小的向量,如何在R中创建图

时间:2020-02-27 01:08:28

标签: r graph-theory

假设我在R中有两个长度相同的向量(例如x和y),并且我想创建一个图(就像在图论中一样)。当所有小于或等于两个向量的长度的n都在y中的第n个项和x中的第n个项之间创建边时,该如何做?我专门尝试使用igraph包来做到这一点。

1 个答案:

答案 0 :(得分:1)

首先让我们为xy生成一些示例数据

set.seed(2018)
x <- sample(1:5, 10, replace = T)
y <- sample(1:5, 10, replace = T)

让我们检查数据

data.frame(x, y)
#   x y
#1  3 3
#2  4 3
#3  5 1
#4  2 1
#5  5 5
#6  1 3
#7  3 1
#8  4 3
#9  2 3
#10 4 5

我们现在可以使用igraph::graph_from_data_frame创建一个igraph对象,其中data.frame(x, y)中的每一行都对应于xy节点之间的一条边。

library(igraph)
ig <- graph_from_data_frame(data.frame(x, y))
plot(ig)

enter image description here