1

我正在运行我希望使用 ANOVA 方法分析的模拟,但我只是在弄清楚如何设置它时遇到了问题。

我有一个 2^5 因子设计,所以我有 32 次实验运行,其中适当的 +/- 值概述了 32 种可能的组合。

但是,对于每种组合,我也有约 500 次重复。我通过模拟收集数据,所以我对每种组合只有 500 次不同的运行。

这会产生 500 个响应值的 32 个向量。我还有一个设计矩阵/向量,保存所有用作 5 个不同因素的 +/- 值。

我认为如果没有复制(为因子制作因子变量,拟合模型做方差分析等),这将是相对直接的,但我对如何设置我的数据矩阵来处理复制感到困惑。我的数据应该有一个 500x32 的矩阵吗?取我的回答的平均值?

谢谢

4

2 回答 2

1

您几乎可以肯定需要一个具有 32x500 = 16000 行和 6 列的数据框(协变量为 5,响应为 1)。

数据框的布局如下:

x1 x2 x3 x4 x5 y
 0  0  0  0  0 *
 0  0  0  0  0 *
 ...

 1  0  0  0  0 *
 1  0  0  0  0 *
 ...

 0  1  0  0  0 *
 0  1  0  0  0 *
 ...

其中每个协变量模式被复制 500 次。您可以使用

df <- expand.grid(1:500, x1=0:1, x2=0:1, x3=0:1, x4=0:1, x5=0:1)[, -1]

然后把你的回应放在一边。

于 2013-06-17T19:28:11.673 回答
0

您的矩阵应该有 6 列和 2^5 * 500 = 16000 行。第一列是您的响应变量,我假设它是一个连续的数值变量。接下来的五列各代表一个处理。

假设您正在测量植物高度对肥料和光照的反应。肥料要么加要么不加,光照要么高要么低。如果植物高度,您的回应。第一个处理列是“肥料”,包含 1 和 0。第二个处理列是“Light”,包含 1 和 0。

请注意,“治疗”并不是指“高光”和“低光”——该列仅用于“光”。

要进行方差分析,您可以执行以下操作:

aov(Height~Fertilizer*Light, data=Data)

基本上,第一行将Data是“500 个响应值的 32 个向量”的列向量(即,rbind()c()那些 32 个向量),接下来的 5 列应该是您的“设计矩阵/向量,保存所有 +/-用作 5 个不同因素的值”。

我希望这个描述有助于组织你的想法。

于 2013-06-17T19:28:26.647 回答