Как создать двудольную сеть в R с помощью igraph или tnet

У меня есть список краев для сети с двумя режимами, подобный этому:

person  Event
Amy     football_game
Sam     picnic
Bob     art_show

Я хочу провести анализ этого в R, но, похоже, все, что я пытаюсь, терпит неудачу. Преобразование его в однорежимную сеть сталкивается с ограничениями памяти, и я не могу понять, как анализировать его как двудольный в igraph или tnet.

В игре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"

Ответы на вопрос(1)

Ваш ответ на вопрос