Как создать граф в R с учетом двух векторов одинакового размера - PullRequest
0 голосов
/ 27 февраля 2020

Предположим, у меня есть два вектора в R (скажем, x и y) одинаковой длины, и я хочу создать граф (как в теории графов). Как это сделать при создании ребра между n-м элементом в y и n-м элементом в x для всех n, меньших или равных длине обоих векторов? Я специально пытаюсь сделать это с помощью пакета igraph.

1 Ответ

1 голос
/ 27 февраля 2020

Сначала давайте сгенерируем некоторые примеры данных для 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)

enter image description here

...