我有一个电影和演员的数据集 - 每一行都是两者的组合。我想创建一个图表,当电影共享两个或更多演员时,电影会连接在一起。 actor的列表保存在actors.2000变量中。
我已经将演员作为顶点进行了这样的分析。现在我想以相反的方式做到这一点。但是,如果我将数据从actor更改为电影并采用bipartite.projection命令的proj1,indu.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)
我将电影作为顶点的图表代码如下所示。我首先查看演员参与的电影。然后我使用二分投影命令建立一个只有电影的网络。比我使用indu.subgraph命令只过滤movies.actors.2000矢量中的电影。
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)
但是,当我使用summary命令时,它会返回一个空图。我不知道我做错了什么。
任何可以帮助我的人?