无法将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
从数据帧中取出不需要的字符。这对我来说很有用。