Я уже неделю пытаюсь построить сеть с помощью пакета networkD3 в R. Функция simpleNetwork
работает нормально, но не позволяет сильно контролировать внешний вид графика. Для этой цели существует функция forceNetwork
: отображать график с расширенными визуальными возможностями.
Проблема, с которой я сталкиваюсь, почти такая же, как и в этом вопросе. Я внимательно прочитал документацию пакета и попробовал решение, предложенное в приведенной выше ветке, но безуспешно: все, что я получаю, - это облако узлов без каких-либо ребер, связывающих их.
Вот мои data.frame
s:
край
Gene1 Gene2 Prob
1 22 3
2 22 6
3 22 6
4 22 9
5 22 3
6 22 4
7 22 8
8 22 4
9 22 6
10 22 8
11 22 6
12 22 10
13 22 6
14 22 3
15 22 6
16 22 6
17 22 0
18 22 4
19 22 6
20 22 4
верт
Symbol Chr Expr
1 21 9
2 17 10
3 17 0
4 20 0
5 6 9
6 5 11
7 12 0
8 1 20
9 17 11
10 17 7
11 17 11
12 10 0
13 17 0
14 7 7
15 17 6
16 17 0
17 2 5
18 5 10
19 17 10
20 17 9
21 12 4
22 3 2
Что ж, это приводит к вышеупомянутому облаку узлов без ребер. То же самое, если я изменю столбец «Символ» на фактические метки, которые я поместил на узлы (с учетом порядка таблицы ссылок, как того требует пакет).
Обратите внимание, что пакет иллюстрирует использование этой функции на этом примере, и если вы откроете используемые наборы данных (MisLinks, MisNodes), их содержимое такое же, как у меня, за исключением меток узлов. Запуск того же самого примера работает; работает с моими данными нет.
Вот функция, которую я использую для построения сети:
forceNetwork( Links = edg, Nodes = vert, Source = "Gene1", Target = "Gene2",
Value = "Prob", NodeID = "Symbol", Group = "Chr", opacity = 0.7,
colourScale = "d3.scale.category20b()", Nodesize = "Expr", zoom = T,
legend = T )
Все остальные свойства отображаются правильно (размер узла, легенда, цвета), но я не вижу границ. Где-то в моих наборах данных должна быть ошибка, которую я никак не могу найти.
forceNetwork( Links = transform(edg, Gene1 = Gene1-1, Gene2 = Gene2 - 1), Nodes = transform(vert, Symbol = Symbol -1), Source = "Gene1", Target = "Gene2", Value = "Prob", NodeID = "Symbol", Group = "Chr", opacity = 0.7, colourScale = "d3.scale.category20b()", Nodesize = "Expr", zoom = T, legend = T )
, чтобы идентификаторы вершин начинались с 0 вместо 1. - person lukeA   schedule 03.07.2015