簡體   English   中英

R Igraph 錯誤:“權重向量必須為正,值無效”

[英]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.

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