首页 > 解决方案 > 如何改变二分图中第一类和第二类顶点的类型?

问题描述

我想通过共同参与电影制作来建立一个国家网络,但是使用我的代码,我得到了相反的结果(国家电影)。

我读到“二分图在 igraph 中有一个 'type' 顶点属性,对于第一种顶点,这是布尔值和 FALSE,对于第二种顶点是 TRUE。” 所以,我认为我应该改变顶点的类型,但不知道如何。

不幸的是,数据处于封闭访问状态,因此无法下载,但最终矩阵 (a) 的列是国家/地区,行是电影 ID。我也尝试翻转df,但没有帮助(图中的顶点是我想要的国家,但它们之间没有联系)。

#I load df and make some changes with it 
  movies <- read_csv("~/shared/mi_2018/data/movies.csv") %>% 
  select(movie_id, production_countries)
  movies_with_countries = extract_json2(df = movies, col = "production_countries")
  a = spread(movies_with_countries, key = production_countries_sep, 
  value = production_countries_v)
  row.names(a) <- a$movie_id
  a = a %>% select(-movie_id, -production_countries)
  a[is.na(a)] <- 0

 #Here I make a bipartite graph, but the result is reverse compared to what I expected
  bg = graph.incidence(a)
  V(bg)$type
  pr = bipartite.projection(bg)
  q = get.adjacency(pr$proj1,sparse=FALSE,attr="weight")
  plot(pr$proj1,edge.width=E(pr$proj1)$weight^2,edge.color="black",vertex.label=V(pr$proj1)$name)

我希望该图能够通过共同参与电影制作来代表国家之间的联系,但在实际图表中是关于基于国家/地区连接的 fils。

标签: rigraphbipartite

解决方案


推荐阅读