使用 read.gml 或 read.graph 读取 GML 文件时出错

Error when using read.gml or read.graph to read a GML file

我正在尝试从 spanish building census 加载文件(那里的任何文件都将作为示例,我使用的是 03001-ADSUBIA 建筑之一)。

我尝试了 Multiplex 包中的 read.gml 函数并得到以下错误: read.gml("A.ES.SDGC.BU.03001.building.gml") Error in which(("node" == arx) == TRUE)[1]:which(("edge" == arx) == TRUE)[1] : NA/NaN argument

然后我尝试了 igraph 包中的 read.graph,也得到了一个错误: read.graph("A.ES.SDGC.BU.46900.building.gml", format=c("gml")) Error in .Call("R_igraph_read_graph_gml", file, PACKAGE = "igraph") : At foreign.c:1127 : Parse error in GML file, line 1 (syntax error, unexpected STRING, expecting $end), Parse error

我做错了什么,我该如何解决?

找到替代方案on this post。但是我想知道为什么像 multiplex 或 igraph 这样的特定包无法正确完成工作...

代码:

llayer<-ogrListLayers("A.ES.SDGC.BU.03001.building.gml")[1]
a<- readOGR(dsn="A.ES.SDGC.BU.46900.building.gml", layer=llayer, encoding = "UTF-8")

igraphmultiplex 不起作用,因为那是不同的 GML:Graph Modeling Language,顾名思义,是用于图形(或网络)的。您的 GML 是地理标记语言。

我已经成功使用GEPHI打开gml文件,然后使用GEPHI的导出功能(菜单驱动)创建'new'在R中用igraph打开的gml文件

有关 GEPHI 和 gml 文件定义的详细信息are here