block.random()
psych
ライブラリからは、ブロックランダム化実験計画を作成するための優れたツールですが、記述された関数では、開始する前にいくつかの計算を行う必要があり、実験因子のレベルの数値インデックスのみを含む行列を生成します。
植物成長実験の例。実験計画法を開始するときに通常知っている種類の情報を使用します。
- 肥料と日光などの2つの実験的要因
- 3つのレベルの肥料(5mL /日、10mL /日、20mL /日)
- 2つのレベルの日光(直射日光、日陰)
- 検出力分析では、グループごとに15個のサンプルが必要であることがわかります
次のようにblock.randomを使用します。
> plan=block.random(n=90,c(fertilizer=3,sunlight=2))
> headtail(plan)
blocks fertilizer sunlight
S1 1 3 2
S2 1 2 1
S3 1 3 1
S4 1 1 1
... ... ... ...
S87 15 3 2
S88 15 2 1
S89 15 1 1
S90 15 1 2
すばらしいですが、2つの問題があります。
- 関数を使用するには、合計90のサンプルが必要であることを理解する必要があります(グループあたり15、肥料の3レベル、日光の2レベル)これは解決するのが簡単な問題です
- 係数の数値レベル(肥料の場合は1:3、日光の場合は1:2)を実際のレベル(5mL /日、10mL /日、20mL)に相関させる必要があるため、必ずしも出力を直接使用できるとは限りません。 /日肥料の場合)および(直射日光、日光の場合は日陰)
レベル名を含めて、参照用に直接印刷したり、レポートに含めるためのテーブルとしてすばやくフォーマットしたりできるものが欲しいです。
どうすればこれを達成できますか?