Я надеюсь на дополнительную помощь в трансформации. Скажем, у меня есть фрейм данных:
df = data.frame(source = c("a","a","b"),
target = c("b","c","d"),
weight = c(1,1,1))
где строка: source = i | target = j | weight = w
обозначает направленное ребро веса w
от узла i
к узлу j
. Учитывая произвольный фрейм данных этой формы, я ищу процедуру для исследования компонентов индуцированного графа G
. Прочитав мой комментарий Бена по этому вопросу:
R: Gephi: управление фреймом данных для использования с write.gexf а>
Я проверил пакет sna
, в котором, похоже, есть то, что я искал, в виде функции component.dist
. Итак, мой вопрос: «Как я могу преобразовать свой фрейм данных в подходящую форму для аргумента dat
функции component.dist
(или есть более« оптимальный »способ решения этой проблемы?)» Я попробовал следующий код:
xtabs(weight ~ source + target, data = df)
но у этого есть очевидные недостатки (например, он не формирует матрицу nrow(df)
на nrow(df)
).
Спасибо за любую помощь.