本教程和包文档描述了如何处理 .net 格式的 pajek 文件,但我需要导入 .paj 文件。我不希望有可以导入所有 .paj 文件的代码,但也许有人的代码可以用于一些更简单的代码,然后我可以根据我的目的进行修改?
问问题
1697 次
1 回答
2
我将从以下方法开始:
- 使用 读取整个文件
readLines()
。 - 删除注释行,以 '
%
' 开头的行。 - 将线条切成片,以星号('
*
')开头的线条标志着新片的开始。 - 按照出现的顺序检查每个部分,并将它们转换为适当的 R 数据结构。
在第 4 步中,您可能有几种类型的片段:
*Network
是网络的开始。*Vertices
定义顶点并属于前一个网络。*Edges
定义无向边,属于前一个网络。*Arcs
定义有向边,属于前一个网络。*Partition
是一个分区的开始。*Vector
是向量的开始。
要将一个片段转换为 igraph 图,请将其与紧随其后的,和/或片段*Network
粘合在一起,然后通过. 这样您就不需要创建临时文件。*Vertices
*Edges
*Arcs
read.graph(..., format="pajek")
textConnection()
和部分很简单*Partition
,*Vector
只需将它们转换为 R 向量,使用scan()
and textConnection()
。
我还没有尝试过这一切,但我认为这并不太难,应该可以正常工作。告诉我你是否有任何困难。
此外,Pajek 文件格式的文档记录很差,所以我可能错了,可能还有其他片段类型等。
您还可以考虑在igraph 错误跟踪器中添加错误报告以请求此功能。
于 2012-08-31T01:15:02.943 回答