无法将igraph对象写入文件(禁止的控制字符错误)
尝试将无法将igraph对象写入文件(禁止的控制字符错误),r,igraph,R,Igraph,尝试将igraph对象写入文件时,我收到以下错误: .Call中的错误(“R\u igraph\u write\u graph\u graphml”,图形,文件,as.logical(前缀),: 在外文graphml.c:1236:在igraph_i_xml_转义中找到禁止的控制字符0x08,无效值 我正在使用基本语法将igraph对象写入graphml格式的文件: write.graph(myGraphObject,“graph\u object\u to\u file.graphml”,fo
igraph
对象写入文件时,我收到以下错误:
.Call中的错误(“R\u igraph\u write\u graph\u graphml”,图形,文件,as.logical(前缀),:
在外文graphml.c:1236:在igraph_i_xml_转义中找到禁止的控制字符0x08,无效值
我正在使用基本语法将igraph
对象写入graphml
格式的文件:
write.graph(myGraphObject,“graph\u object\u to\u file.graphml”,format=“graphml”)
我已经尝试过使用iconv
函数将图形的所有字符向量属性转换为UTF-8,但是到目前为止还没有成功
任何想法都值得赞赏。找到包含字符代码为
0x08
的字符的字符属性,并对其进行修复。该字符代表ASCII表中的退格,因此我非常确定这并不存在。而且,XML 1.0中无论如何都不允许该字符,因此无法将其保存到X中ML1.0文件
转换为UTF-8不起作用,因为UTF-8等价于
0x08
也是0x08
找到包含字符代码为0x08
的字符的字符属性,并对其进行修复。该字符代表ASCII表中的退格,因此我非常确定这并不存在。另外,该字符无论如何,acter在XML 1.0中是不允许的,因此您将无法将其保存到XML 1.0文件中
转换为UTF-8将不起作用,因为与
0x08
等效的UTF-8也是0x08
谢谢。我使用了grep
,但无法匹配字符代码0x08
的模式。是否有特殊的转义,或某种语法?我对R不太熟悉,但您可能可以使用charToRaw
若要将字符串转换为ASCII码,请查找向量中是否出现数字8。如果您只想保留字母数字和标点符号,则可以尝试:gsub(“[^A-Za-z0-9,;.-]”,x)
,其中x
是用于构建图形的任何字符向量。例如,如果您使用数据帧中的graph\u来构建图形,那么在运行该函数之前,您将gsub
从数据帧中取出不需要的字符。这对我来说很有效。谢谢。我使用了grep
但是我无法匹配字符代码的模式0x08
。是否对此有特殊转义,或某种语法?我对R不太熟悉,但您可能可以使用charToRaw
将字符串转换为ASCII码,然后查找向量中是否出现数字8。如果您只想保留字母数字and标点符号,然后您可以尝试:gsub(“[^A-Za-z0-9,;。-]”,x)
,其中x
是用于构建图形的任何字符向量。例如,如果您使用数据帧中的graph\u来构建图形,则在运行该函数之前,您可以gsub
从数据帧中取出不需要的字符。这对我来说很有用。