首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有孤立点/节点的归一化度中心度测度(r igraph)

具有孤立点/节点的归一化度中心度测度(r igraph)
EN

Stack Overflow用户
提问于 2020-07-13 14:09:04
回答 1查看 574关注 0票数 0

我对网络分析很陌生。我想用R计算归一化中心度(度、中间度和特征向量),我创建了ID1和ID2都是投资者的下面的edgelist。如果同时填充了ID1和ID2,投资者共同投资,否则,投资者只进行单独投资(即孤立节点):

代码语言:javascript
复制
edgelist <- structure(list(ID1 = c("Cottonwood Capital Partners LLC", "Sequoia Capital Operations LLC", 
                   "Seraphim Capital (General Partner) LLP", "Seraphim Capital (General Partner) LLP", 
                   "Providence Equity Partners LLC", "Turn8", "Matrix Partners LP", 
                   "Zeeuws Investeringsfonds BV", "Venionaire Capital GmbH", "CincyTech", 
                   "First Round Capital", "Matrix Partners LP", "Mohr Davidow Ventures", 
                   "Esprit Capital Partners LLP", "Yaletown Venture Partners", "Wellington Partners", 
                   "Charles River Ventures LLC", "MB VENTURE PARTNERS L L C", "Edison Partners", 
                   "Ballast Point Venture Partners LLC", "Arcview Group", "Foundry Group LLC", 
                   "Sosventures LLC", "Vantagepoint Management Inc", "Bain Capital Venture Partners LLC", 
                   "NAV VC", "Bluerun Ventures LP", "Draper Fisher Jurvetson International Inc", 
                   "Claremont Creek Ventures LP", "Meritage Funds"), ID2 = c("Pangaea Ventures Ltd", 
                                                                             NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "RPM Ventures Management LLC", 
                                                                             NA, "Kennet Partners Ltd", NA, NA, "Gotham Ventures LLC", NA, 
                                                                             NA, NA, "Syncom Management Co Inc", "Lightspeed Venture Partners China Co Ltd", 
                                                                             NA, "First Round Capital", NA)), row.names = c(NA, -30L), class = c("tbl_df", 
                                                                                                                                                 "tbl", "data.frame"))

要计算归一化程度集中度,我使用以下代码:

代码语言:javascript
复制
library(igraph)
net <- graph.data.frame(edgelist, directed = F) # create undirected graph

"Warning message:
In graph.data.frame(edgelist, directed = F) :
In `d' `NA' elements were replaced with string "NA""

degree_norm <- degree(net, mode = "all", normalized = T) # retreive normalized degree measure
betw_norm <- betweenness(net2, directed=F, normalized = T) # retreive normalized betw measure
ev <- eigen_centrality(net2, directed = F, scale=F, weights = NULL) # retreive normalized ev

正如你所看到的,一个Warning message出现了:它认为NA是一个独立的投资者(它把NA变成字符串)。我之所以保留孤立的投资者,是因为正常化要求将原始度度量(用连接节点/投资者计算)除以任何投资者可以投资的投资者的可能数量(即,所有可能的投资者,包括单独投资的投资者)。

对于如何避免这样的问题,有什么建议吗?我试着用邻接矩阵工作,但也想不出.

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-07-14 09:45:56

当使用igraph时,处理与其他节点没有连接的节点的正确方法是传递一个顶点列表。使用您提供的数据:

代码语言:javascript
复制
# first get a list of all the nodes, excluding the NA
nodeslist <- data.frame(name= na.omit(unique(c(edgelist$ID1,edgelist$ID2 ))))

# delete the NAs from the edge list
edgelist <- na.omit(edgelist)

# create the `igraph` object
g <- graph_from_data_frame(edgelist,
                           directed = F,
                           vertices = nodeslist)

# compute normalized degree
V(g)$degree <- igraph::degree(g, mode = "all", normalized = T)

# explore the result: there are 34 nodes, and the (not-normalized) degree of all nodes
# is either 0 or 1. Therefore, the normalized degree should be either 1/33=0.03030303 or 0:
V(g)$degree
 [1] 0.03030303 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
 [8] 0.00000000 0.00000000 0.03030303 0.00000000 0.00000000 0.00000000 0.00000000
[15] 0.03030303 0.00000000 0.03030303 0.00000000 0.00000000 0.03030303 0.00000000
[22] 0.00000000 0.00000000 0.03030303 0.03030303 0.00000000 0.03030303 0.00000000
[29] 0.03030303 0.03030303 0.03030303 0.03030303 0.03030303 0.03030303
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62877681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档