R:igraph,graph.data.frame error“;“顶点数据框”中未列出边列表中的某些顶点名称;

R:igraph,graph.data.frame error“;“顶点数据框”中未列出边列表中的某些顶点名称;,r,igraph,R,Igraph,我正在尝试为网络中的顶点指定属性。我使用的代码是: g2 <- graph.data.frame(edgelist2014, vertices=nodelabels2014, directed=FALSE) 而nodelabels2014是一个数据框,其中第一列是来自应答者的,列出了1-1015,后面是14列属性数据。我也试过使用1-1014 我以多种不同的方式运行代码并不断得到错误: Some vertex names in edge list are not listed in ve

我正在尝试为网络中的顶点指定属性。我使用的代码是:

g2 <- graph.data.frame(edgelist2014, vertices=nodelabels2014, directed=FALSE)
nodelabels2014
是一个数据框,其中第一列是来自应答者的
,列出了1-1015,后面是14列属性数据。我也试过使用1-1014

我以多种不同的方式运行代码并不断得到错误:

Some vertex names in edge list are not listed in vertex data frame. 

我知道所有的观察结果都是匹配的,因为我在Stata中运行了一个合并函数,每个观察结果都是从
edgelist2014
nodelabels2014
匹配的。请让我知道我做错了什么

我已经遇到了这个问题,并通过提出以下建议来解决它:

最初,尝试在网络的传出变量和传入变量中分别插入非数字字符,即所谓的“FromResponder”和“toRespondent”。插入s01、s02、s03。。。而不是1,2,3

如果错误依然存在,请检查您的数据集“edgelist2014”和“nodelabels2014”是否一致。例如,请查看“nodelabels2014”,查看“edgelist2014”中形成的边对应的所有顶点


由于您的“edgelist2014”数据集有大约514000个示例,如果“FromResponder”和“toRespondent”列中缺少某些内容,并且“nodelabels2014”中的每一个元素都存在,您将更成功地实现验证数据集。

我有同样的问题,这似乎不适用于非数字数据。我想制作一个显示演员之间联系的igraph

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

节点可能有助于提供可复制的示例和代码:请参见答案。
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 )