乱数をつかって任意のデータセットを作るなど

Rによるやさしい統計学を参考に,乱数を使って任意のデータセットを作る関数を作ってみた。

まずは基本。任意の相関係数を持つ二変数を生成する関数。
[crayon-5bf160c29881b015894310/]
使い方は簡単で,相関係数と作るデータセットのサイズを引数で渡すだけ。
[crayon-5bf160c298860851079724/]
次は任意の相関行列をもつデータセットを作る関数。
#任意の相関行列をもつデータセットを作る関数
[crayon-5bf160c29886d197004164/]
引数に生成するデータサイズ,変数の数,目標となる相関行列を渡す。

[crayon-5bf160c298877309263762/]

ここでちょっと一工夫した。相関行列は対称で対角が1に決まってるんだから,全部入れるのめんどくさい。例えば3変数の相関行列なら,r_12,r_13,r_23の情報だけでいいじゃない。ということで,そういう横着をしたい人は,目標行列のところに額各要素のベクトルを渡して,corvecオプションをTRUEにすればいいようにした。

[crayon-5bf160c298882560084168/]

最後に,任意の因子負荷行列を持つデータセットの生成関数。

#任意の因子負荷行列をもつデータセットを作る関数
[crayon-5bf160c29888b030016515/]
こんな風にして使う。
[crayon-5bf160c298895980375633/]

備え付けの因子分析関数で確認。バッチリ。
[crayon-5bf160c29889f776169435/]

もっとも,因子間相関がない仮定。実際に斜交回転で分析すると相関が出て負荷量もおかしくなっちゃう。
これについてはちょっと今度手を入れないと行けないですなー。


  • Tags:


コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください