0

我有一个两种模式的网络边缘列表数据,如下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"  
4

1 回答 1

1

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

于 2013-04-23T08:54:02.393 回答