2017-05-08 94 views
-1

我正在嘗試使用R二分包來分析一個雙方網絡。我導入了一個csv文件並將其轉換爲單模式網絡。這裏是我的代碼:雙方網絡錯誤

library(igraph) 
library(bipartite) 
g <- as.network(data) 
net <- as.one.mode(g, fill = 0, project="full", weighted=TRUE) 
summary(net) 
vcount(net) 
ecount(net) 

但是,當我嘗試使用以下命令計算網絡指標時,它給我一個錯誤。

betweenness_w(net, directed=NULL, alpha=1) 

這裏是錯誤信息。

Error in if (NC == 2) net <- data.frame(tmp[, 1], tmp[, 2]) : 
    argument is of length zero 

我很欣賞一些幫助

+2

如果您提供了[樣本輸入數據] [可重現示例](http://stackoverflow.com/questions/5963269/how-to-make-a- great-r-reproducible-example),它會更容易幫助您 – MrFlick

回答

0

你可能是混淆了矩陣igraph圖形對象。

例如,我可以通過餵食一個圖形對象的betweeness_w功能複製你的錯誤:

> g=make_full_graph(5) 
> ecount(g) 
[1] 10 
> betweenness_w(g) 
Error in if (NC == 2) net <- data.frame(tmp[, 1], tmp[, 2]) : 
    argument is of length zero 

betweenness_w希望加權邊列表。請參閱文檔。

當然這是猜測,因爲你沒有給我們一個可重複的例子。

+0

非常感謝。這非常有幫助。你能告訴我如何從一個有兩列的csv文件(代表兩種類型的節點)創建一個加權邊界列表嗎? – Chamil

+0

您應該編輯您的問題以闡明您正在嘗試執行的操作,幷包含CSV文件樣本和其他任何數據。如果你不能編輯這個問題,請開始一個新問題。 – Spacedman