给定两个相同大小的向量,如何在 R 中创建图形
How to create a graph in R given two vectors of the same size
假设我在 R 中有两个长度相同的向量(比如 x 和 y),我想创建一个图(就像在图论中那样)。对于小于或等于两个向量长度的所有 n,在 y 中的第 n 个项目和 x 中的第 n 个项目之间创建边时,我该怎么做?我专门尝试使用 igraph 包来做到这一点。
首先让我们为 x
和 y
生成一些示例数据
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)
中的每一行对应于 x
和 y
之间的一条边节点。
library(igraph)
ig <- graph_from_data_frame(data.frame(x, y))
plot(ig)
假设我在 R 中有两个长度相同的向量(比如 x 和 y),我想创建一个图(就像在图论中那样)。对于小于或等于两个向量长度的所有 n,在 y 中的第 n 个项目和 x 中的第 n 个项目之间创建边时,我该怎么做?我专门尝试使用 igraph 包来做到这一点。
首先让我们为 x
和 y
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)
中的每一行对应于 x
和 y
之间的一条边节点。
library(igraph)
ig <- graph_from_data_frame(data.frame(x, y))
plot(ig)