簡體   English   中英

R: igraph, graph.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合並功能,每觀察從匹配edgelist2014nodelabels2014 請讓我知道我做錯了什么。

我有同樣的問題,它似乎不適用於非數字數據。 我想制作一個顯示演員聯系的 igraph。

nodes <- read.csv("D1-NODES.csv", header=T, as.is=T)
links <- read.csv("D1-EDGES.csv", header=T, as.is=T)

數據D1-EDGES.csvD1-節點.csv

# 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.

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