次のような 2 モード ネットワークのエッジリストがあります。
person Event
Amy football_game
Sam picnic
Bob art_show
これをRで分析したいのですが、試したことはすべて失敗しているようです。それを 1 モード ネットワークに変換するとメモリ制限が発生し、igraph または tnet で 2 部構成として分析する方法がわかりません。
igraph では、次を使用して作成された igraph オブジェクトについて、bipartite.projection
すべてを提供しますFALSE
net <- graph.edgelist(myobject)
tnet では、igraph ネットを tnet に変換できません。元のデータ フレームを使用しようとすると、グラフの重複が原因で拒否されます。
したがって、次のいずれかに対する回答は非常に高く評価されます。
bipartite.mapping
機能の使用方法を教えてください。- igraph オブジェクトを tnet に入力するにはどうすればよいですか?
- 他のすべてが失敗した場合、重複したエッジを持つデータ フレームを tnet に入力するにはどうすればよいですか?
これらが基本的な質問である場合は申し訳ありませんが、ドキュメントはほとんどありません。
編集
例:
edgelist <- read.table(text="Person Event
Amy football
Bob picnic
Sam artshow",
header=TRUE)
edgelist <- as.matrix(edgelist)
## Igraph Issues
igraph <- graph.edgelist(edgelist)
typevector <- bipartite.projection(igraph)
# gets all FALSE
edgelist2 <- get.edgelist(igraph)
typevector <- bipartite.projection(edgelist2)
# same thing
## tnet issues
tnet <- as.tnet(edgelist)
# gives error: "There are duplicate events in the edgelist"
tnet <- as.tnet(edgelist2)
clusterMat <- clustering_local_tm(tnet)
# gives error: "max not meaningful for factors"
onemode <- projecting_tm(tnet, method="Newman")
# gives error: "arguments must have same length"