整理数据框以供 igraph 使用

问题描述

我在 excel 中有数据,我想将其转换为两列数据以使用 igraph 创建网络。

我的数据包括董事 ID 和董事会 ID,我想将共享同一个董事会的所有董事联系起来,但我真的不知道从谁到“从”到“到”的两列数据

DirectorID  
-----------
33822
33841
33826
33901
33921
33919
13120
66287
33931
33159
24858
33921
33454
33159
33460
8309
33491
33457
33458
33580
33901
13120
33641

BoardID
-------
20777
20777
20777
20777
20777
20777
20777
20777
20777
20777
20777
428
428
428
428
428
428
428
428
428
1534
1534
1534

解决方法

试试这个

g <- graph_from_data_frame(df)
lapply(
    V(g)[names(V(g)) %in% df$BoardID],function(k) {
        neighbors(g,k,mode = "in")
    }
)

给出

$`20777`
+ 11/22 vertices,named,from 10ad0d7:
 [1] 33822 33841 33826 33901 33921 33919 13120 66287 33931 33159 24858

$`428`
+ 9/22 vertices,from 10ad0d7:
[1] 33921 33159 33454 33460 8309  33491 33457 33458 33580

$`1534`
+ 3/22 vertices,from 10ad0d7:
[1] 33901 13120 33641