假设我有以下数据框
df <- data.frame(dev = c("A","A","B","B","C","C","C"),
proj = c("W","X","Y","X","W","X","Z"))
types <- data.frame(proj = c("W","X","Y","Z"),
type = c("blue","orange","orange","blue"))
> df
dev proj
1 A W
2 A X
3 B Y
4 B X
5 C W
6 C X
7 C Z
> types
proj type
1 W blue
2 X orange
3 Y orange
4 Z blue
我想将这些转变为以下网络
节点是proj
中的唯一条目。对于节点u
,v
,如果u
和v
共享u
中的元素,则会有v
到dev
的弧线}。数据是每个开发人员所使用的开发人员和项目的列表,我想形成一个连接有共同开发人员的项目的网络。每个项目都是特定类型,并且该信息需要在图表中编码(我在此玩具示例中通过颜色进行了此操作)。
从这张图中我需要的是每个节点的程度,以及centrality的一个或多个度量。特别是我需要每个节点的closeness centrality,以及测量每种类型中心性的亲密度中心性的修改版本。所以我的最终目标是获得这样一个表:
proj degree closeness_centrality type_centrality
W 2 0.75 1
X 3 1 1
Y 2 0.75 1
Z 1 0.60 1
作为参考,节点u
的紧密度中心性定义为C(u)=(N-1)/(与v
距离的所有节点u
的总和到v
),其中N是图表中节点的数量,从u
到v
的距离是最短u
- v
的长度-路径。类型中心性是C(T,u
)= | T - u
| /(从v
到{{1的距离T中的所有节点u
的总和其中T是给定类型的所有节点的集合,并且| T - v
|是u
排除的T的大小(因此| T |或| T | -1取决于u
的类型)。
其中一个重大挑战是我的实际u
有近300,000行,此图表将有大约155,000个顶点。平均程度虽然很低,但我认为这是可行的。
我的问题是:
任何见解或提示都会得到很好的赞赏;作为一名经济学专业的学生,我在这里有点明智。
谢谢!