2007-01-01から1年間の記事一覧

グラフの推移性

グラフの推移性を算出する関数はgtransである。グラフの頂点間に、a → b → c という関係があるとき、a → c という関係もあれば、この3者間には推移的な関係が成り立っている。グラフ全体で、a → b → c のような関係にある3者関係のうち、a → c という関係も…

密度条件つきランダムグラフの生成

密度を指定して、すなわちグラフに含まれる辺の数を指定して、なおかつどのような辺の集合が実現するかは等確率であるようなランダムグラフを生成したいときには、rgnm関数を用いる。形は次の通り。rgnm(グラフの数, 頂点の数, 辺の数)例. 5つの頂点からなり…

グラフの密度

snaでグラフの密度(濃度・density)を算出するには、gden関数を使う。ここでいうグラフの密度とは、存在するタイに与えられた値の総計を、最大可能な辺の数(つまり全ての頂点の間に辺がある場合)で割ったものである。それゆえ、重み付きグラフ(タイの値…

グラフの3D描画(2)―ラベル・頂点・辺など

gplot3dでは、gplotと同様に、ラベル、頂点、辺その他の点に関する指定ができる。図は、ハンターの2モードのグラフをgplot3dで描いた例。例.gplot3d(dat, gmode = "twomode",label.col = "white",label = c("1","2","3","5","7","14","21","22","24","26","2…

グラフの3D描画(1)―有向グラフと無向グラフ

グラフを立体的に描画する関数としてgplot3dがある。例. 図上 dat <- rgraph(12, tprob = 0.2) gplot3d(dat)出力されたイメージはマウス操作により回転させることができる。また、ホイールボタンで大きさを変更することもできる。gplot3dにおける有向グラフ…

グラフの描画(8)―軸の表示・その他

軸の表示gplotでグラフを描画するとき、例えば mode = "princoord" を用いて頂点を配置すると、頂点の座標は頂点間の相関行列を主成分分析にかけたときの主成分負荷量を示しており、座標自体に意味がある。このような場合に、座標軸や座標のラベルを表示する…

グラフの描画(7)―頂点の配置アルゴリズム

gplotでは、頂点を配置するアルゴリズムを指定することができる。アルゴリズムはパラメータmode = "**"で指定する。下に挙げたようなアルゴリズムが用意されている。特にアルゴリズムを指定する必要がなければ、いくつか試してみて見やすいものを選べばよい…

グラフの描画(6)―2モードのグラフ

gplotでは、2モードの隣接行列を描画することもできる。2モードの隣接行列とは、行と列が異なる頂点から成るような隣接行列である。例として、フロイド・ハンター『コミュニティの権力構造』p.80に描かれている、ある市のリーダーたちのクラブへの加入の様子…

グラフの描画(5)―辺の線のタイプ・太さ・色・曲線・ループ

gplotでは辺の線のタイプ、太さ、色を指定することができる。また曲線の辺やループを描くこともできる。辺の線のタイプは、デフォルトでは実線(edge.lty = 1、またはedge.lty = "solid")だが、破線にしたいときは、 edge.lty = 2 または edge.lty = "dashe…

グラフの描画(4)―頂点の色・形・大きさ

gplotによるグラフ描画のデフォルトでは、頂点は赤い八角形だが、頂点の形、大きさ、色などは指定することができる。指定は全ての頂点に対する固定値でもよいし、個々の頂点に対してベクトルで指定してもよい。例えば、 dat <- rgraph(8) gplot(dat, vertex.…

snaパッケージに関するオンライン・マニュアル

Rのグラフィックに関するマニュアルを集めたサイトR Graphial Manualsにsnaのマニュアルがある。

グラフの描画(3)―ラベルが描画範囲からはみださないようにする

gplotによるグラフ描画で、頂点にラベルを付けたとき、ラベルが描画範囲からはみだしてしまうことがある(図上)。そのような場合、padというパラメータで描画範囲の余白を調整することができる。padで与える値を大きくすると余白も大きくなるので、ラベルを…

グラフの描画(2)―頂点にラベルを付ける

gplotで頂点にラベルを付けたいときは、 displaylabels = TRUEというパラメータを追加する。デフォルトでは、頂点に番号がふられ、ラベル・ボックスの中に配置される(図上)。ラベルは任意に指定でき、またラベル・ボックスを外すこともできる。例えば、 gp…

グラフの描画(1)―有向グラフと無向グラフ

snaパッケージで2次元のグラフを描画するにはgplotという関数を使う。有向グラフ適当な有向のランダムグラフを生成して描画する。 dat <- rgraph(10) gplot(dat)辺が矢印の図が得られる(図上)。辺を矢印ではなく、ただの線分にしたいときは次のようにする…

ランダムグラフの生成

Rのsnaパッケージでランダムグラフを作ることができる。リンクが張られる確率は指定することができ、生成された隣接行列に含まれる値はリンク有り(1)かリンク無し(0)の二値である。ノード数がnのランダムグラフを生成するには次のように入力して実行する…

snaパッケージの読み込み

Rでsnaパッケージを使用するために、Rの起動後まずsnaパッケージを読み込む。パッケージを読み込むには、library(sna)というコマンドを実行するか、Windows版であればメニュー[パッケージ]→[パッケージの読み込み]を選択し、一覧からsnaを選んで[OK]ボタンを…

snaパッケージで利用可能なネットワーク・データ(2)

Rのsnaパッケージでは、N個のノード間の複数の関係を表すネットワーク・データを扱うことができる。例えば、N人の行為者間で、職場での部署が同じ関係、休日に一緒に遊びに行く関係、出身校が同じ関係などといった、複数の関係性を表す、多層のネットワーク…

snaパッケージで利用可能なネットワーク・データ(1)

Rのsnaパッケージで利用可能なネットワーク・データは、・隣接行列(次元N×N)・隣接行列の配列、いわゆる「グラフ・スタック」(次元m×N×N)である("sna-manual.1.2" p.164)。 「network」という、やはりBattsらによる別のパッケージのオブジェクトも使用…

Rによる社会ネットワーク分析の環境を作る

フリーのデータ解析ソフトRにはCarter Buttsが作成したsnaという社会ネットワーク分析用のパッケージがあり、それを使えばRだけでネットワーク分析やネットワーク図を作成することができる。 Rにはその他にも多様なデータ解析ツールが準備されているので、ネ…