我有一个类似于以下结构的双模式网络的边列表:
person Event
Amy football_game
Sam picnic
Bob art_show
我希望在R中对此进行分析,但似乎我尝试的所有方法都失败了。将其转换为单模网络会遇到内存限制问题,并且我无法弄清楚如何在igraph或tnet中以二部图方式进行分析。
在igraph中,bipartite.projection给出了全部为FALSE的结果,而使用的igraph对象是:
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"
myobject
是什么。 - Simon O'Hanlon