シミュレーションからデータを分析する最も簡単な方法を見つけようとしています。私の出力「a」は次のようになり、typeof(a)="list"
fromclass(a)="matrix"
です。
> a
Variable Trial Bgraph Afgraph Mlog
[1,] 0.2 1 List,9 List,9 List,4
[2,] 0.2 2 List,9 List,9 List,4
[3,] 0.2 3 List,9 List,9 List,4
[4,] 0.3 1 List,9 List,9 List,4
[5,] 0.3 2 List,9 List,9 List,4
[6,] 0.3 3 List,9 List,9 List,4
ここで、"a" はリスト行列、"Variable" は変数の値、"Trial" は試行番号です。その値の場合、「Bgraph」と「Afgraph」はグラフ オブジェクトです。それらは単一のグラフ オブジェクトclass(a[[1,4]])="igraph"
です。R はそれらを 9 項目のリストとして保存します。最後に、「Mlog」は、異なる次元の 4 つの行列を含むマスター ログです。これらのオブジェクトをさまざまな関数に渡し、平均を見つけたいと思います。
シンプルにするために、関数をより単純なものに置き換えました。
Q.1 plyrを使用して、各変数の試行の平均エッジ数を取得したいと考えています。私の最善の試みは、個々のエッジ数である次の結果をもたらします。
ldply(a[,4],function(inp){mean(ecount(inp))})
Q.2 data.table パッケージの by も試してみましたが、data.table のキーとしてリストを保持できません。「a」を配列として保持すると、igraph オブジェクトのクラスが失われます。
require(igraph); graph<- erdos.renyi.game(10, .4, "gnp")
いくつかの igraph オブジェクトを作成します。ecount(graph)
エッジをカウントするための組み込み関数です。
助けてくれてありがとう。:)