Я пытаюсь манипулировать кадром данных. В качестве примера: скажем, у меня есть кадр данных, содержащий клиентов и магазины, которые они посещают:
df = data.frame(customers = c("a", "b", "b", "c", "c"),
shop_visited = c("X", "X", "Y", "X", "Z"))
customers shop_visited
a X
b X
b Y
c X
c Z
Подводя итог этому кадру данных:
- один покупатель (
b
) делает покупки вX
, а также вY
; - один покупатель (
b
) делает покупки вY
, а также вX
; - один покупатель (
c
) делает покупки вX
, а также вZ
; - один покупатель (
c
) делает покупки вZ
, а также вX
Или, более кратко:
relations = data.frame(source = c("X","Y", "X", "Z"),
target = c("Y","X","Z","X"))
source target
X Y
Y X
X Z
Z X
Я ищу метод, который сможет сделать преобразование df -> relations
. Мотивация этого заключается в том, что я могу использовать relations
в качестве аргумента edges
в write.gexf
. Спасибо за любую помощь.
library(igraph); g <- graph.data.frame(relations); write.graph(g, file="g.graphml", format="graphml")
вы получите файл graphml, который можно открыть в Gephi. Или вам действительно нужен файл gexf? - person Ben   schedule 23.04.2013gexf
больше свидетельствует о моей наивности в отношении альтернатив, чем что-либо еще. Сейчас я проверю пакетigraph
. Ваше здоровье - person user32259   schedule 23.04.2013relations
изdf
?! - person user32259   schedule 23.04.2013R
, у него есть большая группа опытных пользователей, некоторые из них активны здесь, поэтому получить помощь легко, поэтому я придерживаюсь этого. Я думаю, что пакетsna
может иметь некоторое совпадение. - person Ben   schedule 29.04.2013