繁体   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