【问题标题】:How to create "type" attribute for bipartite graph with igraph inR如何使用 igraph inR 为二部图创建“类型”属性
【发布时间】:2013-04-23 02:24:59
【问题描述】:

我有两个模式的网络边缘列表数据,例如下面的tmp

tmp <- read.table(text="PersonID CompanyID
P1 C000001
P2 C000001
P3 C000001
P4 C000001
P5 C000001
P6 C000002
P7 C000002
P8 C000002
P9 C000003
P10 C000003
P11 C000003
P12 C000003",header=TRUE)

# make a graph using this data
el <- graph.edgelist(as.matrix(tmp))

我这样做是为了添加“类型”属性以在 igraph 中创建二分图

V(el)$type <- V(el)$name %in% el[,1]

但结果是类型全是“假”,名称不匹配。有谁知道这里出了什么问题?

> table(V(el)$type)
FALSE 
   15 

> V(el)$name
 [1] "P1"      "C000001" "P2"      "P3"      "P4"    "P5"    "P6"    "C000002"
 [9] "P7"      "P8"      "P9"      "C000003" "P10"   "P11"   "P12"  

【问题讨论】:

  • 如果你有V(el)$type &lt;- V(el)$name %in% names(el[,1])V(el)$type 中的每个元素是TRUE。但这就是你想要的吗?我还不清楚你想要完成什么。

标签: r igraph bipartite


【解决方案1】:

使用get.edgelist(el)[,1] 代替el[,1]el[,1] 不是您可能期望的边缘列表的第一列;像你一样索引一个图形对象实际上会给你邻接矩阵的切片。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多