use*_*008 3 networking r igraph
我想从事件注释数据中为igraph创建一个网络对象.
例如,我的数据看起来像这样.
Event Person
1 Obama
1 Putin
1 Abe
1 Cameron
2 Putin
2 Xi
2 Merkel
3 Obama
3 Abe
3 Xi
3 Merkel
Run Code Online (Sandbox Code Playgroud)
我假设同一事件中的每个人都有联系.奥巴马,普京,安倍和卡梅伦都有联系,因为他们都参加了比赛.基于这些数据,奥巴马和安倍有两次联系,因为他们都参加了第一场和第三场比赛.
有了这些数据,我想计算度数/中介/亲密度中心性.要计算这些中心点,我需要有一个图形对象.如何创建图形对象或邻接矩阵来计算三个中心度量?
我很抱歉这个基本问题,但我不熟悉使用R进行网络分析.
先感谢您!
这是一个二分图,你想要的是它的投影.
txt <- "Event Person
1 Obama
1 Putin
1 Abe
1 Cameron
2 Putin
2 Xi
2 Merkel
3 Obama
3 Abe
3 Xi
3 Merkel
"
data <- read.table(textConnection(txt), header = TRUE)
BG <- graph.data.frame(data, directed = FALSE)
V(BG)$type <- grepl("^[0-9]+$", V(BG)$name)
bipartite.projection(BG)[[1]]
#> IGRAPH UNW- 6 13 --
#> + attr: name (v/c), weight (e/n)
#> + edges (vertex names):
#> [1] Obama--Putin Obama--Abe Obama--Cameron Obama--Xi Obama--Merkel
#> [6] Putin--Abe Putin--Cameron Putin--Xi Putin--Merkel Abe --Cameron
#> [11] Abe --Xi Abe --Merkel Xi --Merkel
Run Code Online (Sandbox Code Playgroud)