簡體   English   中英

從igraph.es(邊緣序列)到R中的節點

[英]From igraph.es (edge sequence) to nodes in R

我想根據它們連接的節點的值(當然是在R igraph中)設置圖形中一定范圍的邊的邊屬性。

當我在圖形對象中檢索某個邊緣時,會得到一個邊緣序列對象:

E(g)[1]
# + 1/2080 edge (vertex names):
# [1] 35->1
class(E(g)[1])
# [1] "igraph.es"

如何從該邊緣序列獲得實際邊緣? 我發現的唯一相關功能是as_ids

as_ids(E(g)[1])
# [1] "35|1"    

然后,我必須拆分字符串以獲取節點ID,將ID轉換為整數,使用V(g)[x]表示法獲取節點,檢查我感興趣的屬性,最后設置edge屬性。

這是不切實際且浪費的過程。 有沒有更簡單的方法可以做到這一點?

我知道%--%表示法,在某些情況下,它允許我預先根據節點屬性過濾邊緣,從而解決了我的問題。 但是在許多其他情況下,這種表示法無濟於事(當邊緣屬性值與節點屬性之間具有更復雜的關系時),我想知道是否存在一種更通用的方法來從一個邊緣序列到達相應的一對節點。

您可以使用ends函數到達頂點:

ends(g, E(g)[1])

暫無
暫無

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

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