У меня есть симметричная матрица расстояний, которая содержит как отрицательные, так и положительные значения, и я хочу отобразить эту информацию как сеть, уменьшив число ребер в соответствии с двумя критериями:
- алгоритм транзитивного сокращения:которые удаляют прямые ребра, если в вершине существуют косвенные.
- максимальное связующее дерево: подмножество ребер, которые имеют больший вес, сохраняя сетевой путь.
Для этого я использовал,соответственно:
- функция 'transitive.reduction' из пакета R 'nem'
функция 'MaST' из пакета R 'NetworkToolbox'
test <-read.table ("test.csv", sep = ",") new_g <-transitive.reduction (as.matrix (test)) matr <-new_g * matr max.spann.psi <-MaST (matr,нормальный = ЛОЖЬ, зависит = ИСТИНА) </p>
Однако я получаю некоторые ошибки. Я подозреваю, что это может быть связано либо с тем, что я:) Я использую матрицу расстояний в качестве матрицы смежности;ii) что моя матрица расстояний также имеет отрицательные значения;или ii) что я неправильно использую алгоритм транзитивного сокращения и максимальное связующее дерево.
Я довольно новичок в анализе графиков и пытаюсь понять.
Я хотел добавить в приложениетекст файла, над которым я работаю, но, очевидно, stackoverflow не позволяет этого.