Добрый день. У меня есть 2 текстовых файла. Один, содержащий один столбец, узлы и другие ссылки (несколько столбцов, разделенных пробелами, содержащими 0 (без ссылок) и 1 (направленные ссылки). У меня нет никаких заголовков в файлах. Я хочу импортировать в R и преобразовать их в объект графика. Пример файла узла. (столбец 1)
135
246
358
....
Пример файла ссылок (несколько столбцов)
0 0 0 1 0
1 0 1 0 0
0 0 0 0 0
...........................
Пробовал https://kateto.net/network-visualization, но безуспешно. Я конвертирую их в Excel, но безуспешно. Пожалуйста, мне нужна ваша помощь...
Да они есть.... я просто привел пример. У меня есть 128 строк с одним столбцом, который представляет собой просто код гена, а другой текстовый файл имеет размер 128x128. Существует ли способ прикрепить сюда 2 файла?
Вот способ создания графа из двух файлов, один с именами узлов, а другой с матрицей смежности.
Предположим, что имена файлов следующие:
nodesfile <- "nodes.txt"
linksfile <- "links.txt"
Поскольку они должны считываться как вектор и как матрица соответственно, можно использовать функцию scan.
nodes <- scan(file = nodesfile, what = character())
links <- scan(file = linksfile)
Теперь сначала приведите вектор links выше к матрице, а затем создайте график. В приведенном ниже коде предполагается, что граф направлен, см. help("graph_from_adjacency_matrix").
library(igraph)
links <- matrix(links,
nrow = length(nodes),
byrow = TRUE,
dimnames = list(nodes, nodes))
g <- graph_from_adjacency_matrix(links)
plot(g)
Идеально, ты прекрасна! У меня есть график! Но g теперь является объектом igraph?
@ Адам Да, g - это объект igraph, попробуйте class(g).
Все в порядке, но когда я пытаюсь проанализировать график visualize_graph(g, centrality.type = "Barycenter Centrality") с пакетом CINNA, я получаю сообщение об ошибке Ошибка в visualize_graph(g, centrality.type = "Barycenter Centrality"): ввод не является объектом igraph или может быть не подключен.
@Adam Адам Это объект igraph. Только вы можете сказать, связано ли это с такими функциями, как эти. А если нет, то разложить на связные составляющие.
Οκ . Я собираюсь попробовать это. Спасибо!
Количество строк должно быть равно количеству столбцов. Является ли матрица смежности такой, как вы опубликовали? Если нет, приведите лучший пример, пожалуйста.