Преобразовать 2 текстовых файла в объект igraph в R

Добрый день. У меня есть 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, но безуспешно. Пожалуйста, мне нужна ваша помощь...

Количество строк должно быть равно количеству столбцов. Является ли матрица смежности такой, как вы опубликовали? Если нет, приведите лучший пример, пожалуйста.

Rui Barradas 20.12.2020 16:50

Да они есть.... я просто привел пример. У меня есть 128 строк с одним столбцом, который представляет собой просто код гена, а другой текстовый файл имеет размер 128x128. Существует ли способ прикрепить сюда 2 файла?

Adam 20.12.2020 16:52
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
87
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот способ создания графа из двух файлов, один с именами узлов, а другой с матрицей смежности.

Предположим, что имена файлов следующие:

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?

Adam 20.12.2020 17:15

@ Адам Да, g - это объект igraph, попробуйте class(g).

Rui Barradas 20.12.2020 17:18

Все в порядке, но когда я пытаюсь проанализировать график visualize_graph(g, centrality.type = "Barycenter Centrality") с пакетом CINNA, я получаю сообщение об ошибке Ошибка в visualize_graph(g, centrality.type = "Barycenter Centrality"): ввод не является объектом igraph или может быть не подключен.

Adam 20.12.2020 17:28

@Adam Адам Это объект igraph. Только вы можете сказать, связано ли это с такими функциями, как эти. А если нет, то разложить на связные составляющие.

Rui Barradas 20.12.2020 17:33

Οκ . Я собираюсь попробовать это. Спасибо!

Adam 20.12.2020 17:43

Другие вопросы по теме

Похожие вопросы

Логический оператор равенства на Rcpp в 8 раз медленнее, чем на базе R
Как сохранить ввод в переменную после нажатия кнопки в Shiny?
Как работать с описательной статистикой (медиана, IQR, частоты, пропорции и т. д.) после многократного вменения с использованием MICE
Как сгруппировать набор данных в зависимости от начала строки
Вычислить центральную точку нескольких широтных, длинных точек в фрейме данных
Как преобразовать столбец символов в два столбца (дата и текст) в R?
Как я могу заставить R подсчитывать количество наблюдений в наборе данных, которые подпадают под категорию, определенную в другом наборе данных
Создать новый столбец со значениями, проиндексированными из другой таблицы
Как изменить элементы компонентов «navbarPage» и «tabPanel» после загрузки реактивной системы R Shiny?
Автоматически выравнивать текст по оси Y и линии сетки по нижнему и верхнему краю ggplot.