[英]R- iGraph Error: weight vector too short, Invalid value when applying community detection alogrithm
[英]R Igraph Error: “Weight vector must be positive, Invalid value”
我在 iGraph 中構建了幾個圖表。 在每個圖中,節點代表單詞,邊權重代表單詞 A 作為對單詞 B 的響應(在單詞關聯任務中)的次數。在每個圖中,我已經對邊權重進行了歸一化,以便它們在0 和 1 使用以下代碼:
E(G)$weight <- E(G)$weight / max(E(G)$weight)
這些值在分析節點/網絡強度時是合適的,但在計算與介數有關的函數時(例如調用介數 function,或使用基於介數的社區檢測,它們需要更改為距離 - 即倒置:
G2 = G
E(G2)$weight = 1 - E(G2)$weight
問題是這會導致向量包含幾個 0(即對於那些在反轉之前強度為 1 的向量。這會導致(至少,我認為這是原因)出現錯誤消息,例如:
Error in cluster_edge_betweenness(G2.JHJ.strong, weights = E(G2.JHJ.strong)$weight, :
At community.c:455 : weights must be strictly positive, Invalid value
關於這個還能做什么?
謝謝,
彼得
如果你想安全起見,你可以嘗試sum
而不是max
來標准化權重,例如,
E(G)$weight <- E(G)$weight / sum((E(G)$weight)
或者
E(G)$weight <- 2**((E(G)$weight - min(E(G)$weight)) / diff(range(E(G)$weight)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.