2

このチュートリアルパッケージドキュメントでは、.net形式のpajekファイルに対してそれを行う方法について説明していますが、.pajファイルをインポートする必要があります。すべての.pajファイルをインポートするコードがあるとは思いませんが、おそらく誰かが、自分の目的のために変更できるいくつかのより単純なファイルで機能するコードを持っていますか?

4

1 に答える 1

2

私は次のアプローチから始めます。

  1. を使用してファイル全体を読み取りますreadLines()
  2. ' ' で始まるコメント行を削除し%ます。
  3. 行を断片に切ります。星印 (' *') で始まる行は、新しい断片の開始を示します。
  4. 各ピースを表示順に検査し、適切な R データ構造に変換します。

ステップ 4 では、いくつかのタイプのピースが存在する場合があります。

  • *Networkネットワークの始まりです。
  • *Vertices頂点を定義し、前のネットワークに属します。
  • *Edges無向辺を定義し、前のネットワークに属します。
  • *Arcsは有向辺を定義し、前のネットワークに属します。
  • *Partitionパーティションの開始です。
  • *Vectorベクトルの開始です。

ピースを igraph グラフに変換するには、直後にある、および/またはピースと*Network一緒に接着し、 .経由で呼び出します。この方法では、一時ファイルを作成する必要はありません。*Vertices*Edges*Arcsread.graph(..., format="pajek")textConnection()

*Partitionとの*Vectorピースは単純で、 and を使用して R ベクトルに変換するだけscan()ですtextConnection()

私はこれをすべて試したことはありませんが、それほど難しくなく、うまくいくはずです。困っていることがあれば言ってください。

また、Pajek ファイル形式については十分に文書化されていないため、間違っている可能性があり、他の種類のファイルがある可能性もあります。

この機能をリクエストするには、 igraph バグ トラッカーにバグ レポートを追加することも検討してください。

于 2012-08-31T01:15:02.943 に答える