Rに二相三元データを入れたくて

備忘録がてら書いておく。

n×nサイズの行列がm枚あって,それがn×m行n列に並んだデータセットがあるとする。
これをn×nがm枚,というように分割して処理していきたい,という場合。(こういうニーズがどこにどれぐらいあるのかはわからないがw)

Rでやる場合,元のデータセットはdata.frame型(かmatrix型)で,それをmatrixを要素とするlist型にまとめ直すことがしたかったのです。

いろいろ悩んだんだけど,次のようにすることで解決できた。

ここで,dataが元変数,size×sizeがrep回あるとすると,次のように実装できた。

  data.t <span class="synStatement">&lt;-</span> t<span class="synSpecial">(</span>data<span class="synSpecial">)</span>
dim<span class="synSpecial">(</span>data.t<span class="synSpecial">)</span><span class="synStatement">&lt;-</span>c<span class="synSpecial">(</span>size<span class="synSpecial">,</span>size<span class="synSpecial">,</span>rep<span class="synSpecial">)</span>
gMatrix <span class="synStatement">&lt;-</span> <span class="synType">list</span><span class="synSpecial">()</span>
<span class="synStatement">for</span><span class="synSpecial">(</span>i <span class="synStatement">in</span> <span class="synConstant">1</span><span class="synSpecial">:</span>rep<span class="synSpecial">){</span>
gMatrix<span class="synSpecial">[[</span>i<span class="synSpecial">]]</span> <span class="synStatement">&lt;-</span> as.matrix<span class="synSpecial">(</span>data.t<span class="synSpecial">[,,</span>i<span class="synSpecial">])</span>
<span class="synSpecial">}</span>
<span class="synError">)</span>

これで,gMatrixのi番目の要素,としてMatrixが指定できる。

もっと美しいやり方があるのかもしれない。あればだれか教えてください。

日記
もう騙せない

蕁麻疹が完治、根治、しないんですよねぇ。 薬が切れてからというもの、たま〜に「怪しい感じだな?」と思 …

日記
誕生日メモ

娘が「牛乳買って。飲まないんだけど」という。 なんで飲まないもんを買うんだ(笑)と返事したら、少し困 …

日記
今年の10大ニュース2019

今年も大晦日になりました。今年もいろんな人に遊んでもらって、感謝しています。例によってぼんやり今年を …