私はサンプラーとしてrjags
を使用しています。モデルには3つの行列が定義されています。 coda.samples
関数は、サンプルのリストを返します。最初のサンプルリストを見ると、列名は次のようになります。mcmcオブジェクトからの変数の再構築
> colnames(output[[1]])
"A[1,1]" "A[2,1]" "A[1,2]" "A[2,2]" ...
"B[1,1]" "B[2,1]" "B[3,1]" "B[4,1]" ...
"C[1,1]" "C[2,1]"
もちろん、A、B、Cは私のモデルの行列です。私はこれらのサンプルの平均に基づいてそれらを再構築したい。私は簡単にcolMeans(output[[1]])
と手段を得ることができますが、私はこのベクトルからどのようにして行列を簡単に再構成するか分かりません。
再構築の良い方法は、relist()
関数です。だから、行列A、B、Cをリストに入れてL = list(A=A,B=B,C=C)
なら、このリストをunlist()
のベクトルに変換してrelist()
に変換することができます。私はmcmcオブジェクトのために同様の/ readymadeを探していますが、これまでのところ役に立たなかった - 私はこれを必要とする最初の人だとは思えません。明らかに、relist(colMeans(output[[1]]))
は機能しません。
誰でも再構成を手伝うことができますか?
編集:relist()
機能のみそうcolnames(output[[1]])
からスケルトンを抽出することもトリックを行うだろう、スケルトンを必要としていることにも注意してください。それとも、私は複雑ですか?