Как импортировать массив смежности из файла в формате .txt с граничной нотацией (v, w)? - PullRequest
0 голосов
/ 15 апреля 2019

Как импортировать массив смежности из файла в формате .txt с граничной нотацией (v, w) в RStudio?

Содержимое файла .txt:

5vertices,não dirigido
0,1
1,2
1,3
2,3
3,4
4,0
Reinforcement that this is the notation of vertices in the format (v, w).
vertices: 0 to 4

1 Ответ

0 голосов
/ 15 апреля 2019

Ваш вопрос не очень ясен и не воспроизводим. Например, я не знаю, что вы подразумеваете под «массивом смежности».

Кроме того, при условии, что у вас есть текстовый файл (который я называю sample.txt здесь) со следующим содержанием

5vertices,não dirigido
0,1
1,2
1,3
2,3
3,4
4,0
Reinforcement that this is the notation of vertices in the format (v, w).
vertices: 0 to 4

вы можете использовать readLines для построчного чтения файла, извлечения списка границ и создания объекта igraph:

ln <- readLines("sample.txt")

# Store as matrix with from/to indices
vtx <- do.call(rbind, strsplit(ln[grep("\\d+,\\d+", ln)], ","))

# Convert indices to integer and convert to igraph
library(igraph)
ig <- graph_from_data_frame(apply(vtx, 2, as.integer))

plot(ig)

enter image description here

...