R 使用二部网络创建子图

R 使用二部网络创建子图,r,rstudio,igraph,bipartite,subgraph,R,Rstudio,Igraph,Bipartite,Subgraph,我有一个电影和演员的数据集——每一行都是两者的结合。我想创建一个图表,当电影共享两个或两个以上的演员时,它们是相互连接的。参与者列表保存在actors.2000变量中 我已经将参与者作为顶点进行了这样的分析。现在我想反过来做。但是,如果我将数据从actors更改为movies,并使用bipartite.projection命令的proj1,则induced.subgraph将返回一个空图 library(igraph) all.actors <- dt.movie.actor[, list

我有一个电影和演员的数据集——每一行都是两者的结合。我想创建一个图表,当电影共享两个或两个以上的演员时,它们是相互连接的。参与者列表保存在actors.2000变量中

我已经将参与者作为顶点进行了这样的分析。现在我想反过来做。但是,如果我将数据从actors更改为movies,并使用bipartite.projection命令的proj1,则induced.subgraph将返回一个空图

library(igraph)
all.actors <- dt.movie.actor[, list(name=unique(actor), type=TRUE)]
all.movies <- dt.movie.actor[, list(name=unique(movie), type=FALSE)]

all.vertices <- rbind(all.actors, all.movies)
g.movie.actor <- graph.data.frame(dt.movie.actor[, list(movie, actor)],
                                 directed=FALSE,
                                 vertices=all.vertices)


g.actors <- bipartite.projection(g.movie.actor)$proj2


g.actors <- induced.subgraph(g.actors, vids = V(g.actors)$name %in% actors.2000)
库(igraph)

all.actors能否请您更新您的问题,以包含再现问题的数据样本?能否请您更新您的问题,以包含再现问题的数据样本?
actors.2000 <- dt.awards.actor[award == "72nd_Annual_Academy_Awards__The_2000", 
                              actor]
movies.actors.2000 <- dt.movie.actor[actor %in% actors.2000, list(unique(movie))]
movies.actors.2000

g.movies <- bipartite.projection(g.movie.actor)$proj1
g.movies <- induced.subgraph(g.movies, vids = V(g.movies)$name %in% movies.actors.2000)

summary(g.movies)