我正在运行模拟,我希望用方差分析方法进行分析,但我只是在弄清楚如何设置它时遇到了问题。
我有一个2^5的析因设计,所以我的实验有32次运行,适当的+/-值列出了32种可能的组合。
但是,对于每种组合,我也有大约500个副本。我是通过模拟来收集数据的,所以对于每种组合,我只有500次不同的运行。
这将产生包含500个响应值的32个向量。我还有一个设计矩阵/向量,保存了用作5个不同因子的所有+/-值。
我认为如果没有复制,这将是相对简单的(为因子创建因子变量,拟合模型做anova等),但我对如何设置数据矩阵来处理复制感到困惑。我的数据应该有一个500x32的矩阵吗?取我回复的平均值?
谢谢
发布于 2013-06-18 03:28:27
矩阵应该有6列和2^5x500= 16000行。第一列是您的响应变量,我假设它是一个连续的数值变量。接下来的五列分别表示一种处理。
假设你正在测量植物高度对化肥和光照的反应。要么添加化肥,要么不添加化肥,光照要么高要么低。如果株高,你的反应。第一个处理列是“肥料”,包含1和0。第二个处理列是"Light",包含1和0。
请注意,我所说的“治疗”并不是指“高光”和“低光”-本栏仅用于“光”。
要执行anova,您需要执行以下操作:
aov(Height~Fertilizer*Light, data=Data)基本上,Data中的第一行将是“500个响应值的32个向量”的列向量(即,rbind()或c()这32个向量),接下来的5列应该是您的“设计矩阵/向量,保存了用作5个不同因子的所有+/-值”。
我希望这篇文章能帮助你理清思路。
发布于 2013-06-18 03:28:12
您几乎肯定需要一个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]然后把你的回应放在一边。
https://stackoverflow.com/questions/17154844
复制相似问题