Jak utworzyć dwudzielną sieć w R z igraph lub tnet

Mam edgelist dla sieci dwóch trybów, podobny do tego:

person  Event
Amy     football_game
Sam     picnic
Bob     art_show

Chcę przeprowadzić analizę tego w R, ale na pozór wszystko, co próbuję, zawiedzie. Przekształcenie go w sieć jednomodową działa na ograniczenia pamięciowe i nie mogę zrozumieć, jak ją analizować jako dwudzielną w igraph lub tnet.

W igraph,bipartite.projection daje mi wszystkoFALSE, na obiekcie igraph utworzonym przy użyciu

net <- graph.edgelist(myobject)

W tnet nie mogę przekonwertować sieci igraph na sieć tnet, a kiedy próbuję użyć oryginalnej ramki danych, odmawia ona z powodu duplikatów na wykresie.

Odpowiedzi na poniższe pytania byłyby bardzo mile widziane:

Jak korzystać zbipartite.mapping funkcjonować?Jak wprowadzić obiekt igraph do tnet?Jeśli wszystko inne zawiedzie, w jaki sposób mogę wprowadzić ramkę danych z duplikatami krawędzi do tnet?

Przepraszam, jeśli są to podstawowe pytania, ale jest bardzo mało dokumentacji.

EDYTOWAĆ

Przykład:

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"

questionAnswers(1)

yourAnswerToTheQuestion