R
如何使用 R 計算 400 萬邊緣網絡中的中心性度量?
我有一個 CSV 文件,其中包含 400 萬條有向網絡的邊,代表人們相互通信(例如,約翰向瑪麗發送消息,瑪麗向安發送消息,約翰向瑪麗發送另一條消息等)。我想做兩件事:
- 找到每個人的度數、介數和(可能)特徵向量中心度度量。
- 獲得網絡的可視化。
我想在 Linux 服務器的命令行上執行此操作,因為我的筆記本電腦沒有太多電量。我在該服務器和 statnet 庫上安裝了 R。我發現這個 2009 年的帖子有人比我更有能力嘗試做同樣的事情並遇到問題。所以我想知道是否有人對如何執行此操作有任何指示,最好是一步一步地指導我,因為我只知道如何加載 CSV 文件而沒有別的。
只是給你一個想法,這就是我的 CSV 文件的樣子:
$ head comments.csv "src","dest" "6493","139" "406705","369798" $ wc -l comments.csv 4210369 comments.csv
您擁有的是一個邊緣列表,可以使用網絡庫將其轉換為網絡對象。這是一個使用虛構數據的示例。
library(network) src <- c("A", "B", "C", "D", "E", "B", "A", "F") dst <- c("B", "E", "A", "B", "B", "A", "F", "A") edges <- cbind(src, dst) Net <- as.network(edges, matrix.type = "edgelist") summary(Net) plot(Net)
但是,需要警告:您有一個非常大的網絡,我不確定情節是否會提供所有信息。它可能看起來像一個大紗線球。我也不確定這些庫如何處理如此大的數據集。我建議您查看 network、statnet 和 ergm 庫的文檔。Journal of Statistical Software (v24/3) 提供了幾篇涵蓋這些庫的文章。問題可以在這裡找到: