簡體   English   中英

使用igraph for R打印節點的網絡屬性

[英]Printing network properties of nodes with igraph for R

我正在使用igraph R軟件包進行SNA,需要將節點的一些網絡屬性以及每個節點的ID保存到文件中以進行進一步分析。 也就是說,文檔的第一列代表節點ID,其他列代表屬性。 我可以使用中心度度量,但是其他igraph函數(例如傳遞性)例如,僅返回具有計算出的網絡屬性的向量,如

transitivity(graph,type=c("local"))

[1] 0.4285714 0.3976608 0.5454545 0.7142857 0.3928571 0.4640523
[7] 0.5620915 0.6095238 0.3571429 0.4743590 0.3416667 0.6023392
[13] 0.6000000 0.5228758 0.4771242 0.4835165 0.3246753 0.5000000
[19] 0.3636364 0.5777778 0.3571429 0.4487179 0.5238095 0.4857143

我想做的就是能夠將傳遞性添加到以下集中度度量的數據框中:

metrics <- data.frame(
  deg=degree(graph)
  bet=betweenness(graph)
  clo=closeness(graph)
  eig=evcent(graph)$vector
)

返回:

    deg        bet        clos       eig
001   7  8.6046215 0.009523810 0.1697311
002  19 48.2885279 0.012500000 0.7012156
003  12 10.5285962 0.011111111 0.4280625
004  15  8.6161170 0.011363636 0.7729130

感謝您的幫助。 謝謝!

只需將功能添加到您的data.frame

metrics <- data.frame(
  deg=degree(graph),
  bet=betweenness(graph),
  clo=closeness(graph),
  eig=evcent(graph)$vector,
  tra=transitivity(graph,type=c("local"))
)

您可以將V(graph)$ name添加到數據框中以獲取與度量相關的ID。

 metrics <- data.frame(
   id = V(graph)$name
   deg=degree(graph),
   bet=betweenness(graph),
   clo=closeness(graph),
   eig=evcent(graph)$vector,
   tra=transitivity(graph,type=c("local"))
 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM