2017-06-02 17 views
0

私の目標は、igraphを使用するためにグループごとに行を組み合わせに変換することです。私はこのことから行きたいigraphのデータ操作

例:これまで

start <- data.frame(id = c(2,3,5,6), 
      group_a = c("A","A","b","b")) 

"" その後、2と3を持っているので、説明の少しは、2が3に接続されている
end <- data.frame(src = c(2,5),dst=c(3,6)) 

、 「b」は5、その後5は6

私はインナーをやってみました

に接続されている6が参加しているが、私はすべての対話で終わる:

sqldf("select a.id as src , 
       b.id as dst 
     from start a 
     inner join start b on a.group_a = b.group_a") 

また、igraphのドキュメントを参照して、直接実行する機能があるかどうかを確認しますが、動作するものが見つからないようです。

start %>% group_by(group_a) %>% do(data.frame(t(combn(.$id, 2)))) 
をdplyr使用して

library(igraph) 
g <- graph.data.frame(start) 
get.edgelist(g) 

おかげで、私は解決策を見つけた

答えて

0

:私はこれを試してみました