![](/img/trans.png)
[英]igraph : Invalid vertex names when using graph.edgelist and not graph_from_data_frame
[英]R: igraph, graph.data.frame error “Some vertex names in edge list are not listed in vertex data frame”
我正在嘗試為網絡中的頂點分配屬性。 我使用的代碼是:
g2 <- graph.data.frame(edgelist2014, vertices=nodelabels2014, directed=FALSE)
其中 edgelist2014 是一個具有 514,000 多個觀察值的邊緣列表,采用以下格式:
fromRespondent toRespondent weight
1 2 6
1 3 4
... ... ...
1014 1015 7
nodelabels2014
是一個數據框,其中第一列fromRespondent
並列出 1 - 1015 后跟 14 列屬性數據。 我也用 1 - 1014 試過這個。
我以多種不同的方式運行代碼並不斷收到錯誤消息:
Some vertex names in edge list are not listed in vertex data frame.
我知道,所有的意見匹配,因為我跑在Stata合並功能,每觀察從匹配edgelist2014
和nodelabels2014
。 請讓我知道我做錯了什么。
我有同樣的問題,它似乎不適用於非數字數據。 我想制作一個顯示演員聯系的 igraph。
nodes <- read.csv("D1-NODES.csv", header=T, as.is=T)
links <- read.csv("D1-EDGES.csv", header=T, as.is=T)
數據
# Producing the igraph
net <- graph_from_data_frame(d=links, vertices=nodes, directed=T)
#create a layout for plot
l <- layout_nicely(net2)
p1 <- plot(net2, edge.arrow.size= 0.5, edge.curved= 0.2, vertex.color=nodes$Inter.type, rescale=5, frame= T,vertex.label.cex=1.4, vertex.size=20, vertex.label.color="black",edge.lty= 2, vertex.frame.color= "gray", layout=l )
我收到此錯誤消息:
邊列表中的某些頂點名稱未在頂點數據框中列出
我已經遇到了這個問題,並通過提出以下建議解決了這個問題:
最初,嘗試分別在網絡的傳出和傳入變量中插入非數字字符,即您所說的“fromRespondent”和“toRespondent”。 插入 s01, s02, s03, ... 而不是 1, 2, 3, ...
如果錯誤仍然存在,請檢查您的數據集“edgelist2014”和“nodelabels2014”是否一致。 例如,查看“nodelabels2014”中的所有對應頂點作為“edgelist2014”中形成的邊。
由於您的“edgelist2014”數據集有大約 514,000 個示例,因此您將更成功地對“fromRespondent”和“toRespondent”列進行驗證,如果“nodelabels2014”數據集中的這些元素中的每一個都缺失並且存在的話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.