首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2模式网络的数据格式转换

2模式网络的数据格式转换
EN

Stack Overflow用户
提问于 2016-05-31 07:08:48
回答 1查看 210关注 0票数 0

我拥有的数据(Excel)如下所示:

我在第一栏里有2600部电影,其他专栏里也有导演和工作人员的名字。有些名字出现了好几次。

我很难将此excel数据转换成一种可以执行两种模式网络分析的格式(事件:电影,从这些电影中绑定)。有什么帮助文档或代码可以将这些数据转换成适当的格式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 09:14:39

您可以使用igraph (它调用这种类型的网络二分)来完成这一任务。

假设您已经创建了一个包含excel数据的数据框架,称为dt。

代码语言:javascript
复制
dt
     Movie     director codirector staff1
1 StarWars     JJAbrams       <NA>   Anne
2  Abarter JamesCameron       <NA>   <NA>
3   Loiter         Kenn      Klark   Kage

然后您可以创建一个二分图,g如下所示:

图书馆(Reshape2)

代码语言:javascript
复制
edgelist <- melt(dt, id.vars = 'Movie')[, -2]
edgelist <- edgelist[complete.cases(edgelist), ]

library(igraph)

g <- graph.data.frame(edgelist)

V(g)$type <-  V(g)$name %in% edgelist[, 1]
g
plot(g)
IGRAPH DN-B 9 6 -- 
+ attr: name (v/c), type (v/l)
+ edges (vertex names):
[1] StarWars->JJAbrams     Abarter ->JamesCameron Loiter  ->Kenn         Loiter  ->Klark       
[5] StarWars->Anne         Loiter  ->Kage 

igraph中,二分图是一个正则图,每个顶点都有一个类型属性设置为TRUE/FALSE。哪种类型的顶点并不重要,在本例中,电影设置为TRUE

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37539058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档