我正在处理涉及9种不同基因型的数据集,这些基因型被排列成3个不同的类别。记录了每种基因型的约20个大小的测量值。
我尝试运行双向anova(在确定基因型之间显着差异的单向anova之后),以分析3个类别之间的差异以及不同的基因型。
我使用了函数aov(size~genotype*class,data=x)
我获得的摘要表只有一行genotype
,我无法在任何地方看到class
或genotype:class
,正如我所料。
我获得的表与我刚运行aov(size~genotype, data=x)
我做错了什么?
即使class
/ class:genotype
不会改变结果的重要性,它们仍应显示在anova汇总表中?
答案 0 :(得分:1)
简而言之 - 你无法适应你想要适合的模型......至少如果我正确理解你的数据。我的理解是你有类似的东西:
dat< - data.frame(size = rnorm(27),genotype = gl(9,3),class = gl(3,9))
> dat <- data.frame(size = rnorm(27), genotype = gl(9,3), class = gl(3, 9))
> dat
size genotype class
1 1.44189249 1 1
2 1.05766532 1 1
3 0.08133568 1 1
4 0.36642288 2 1
5 0.93266571 2 1
6 -0.64031787 2 1
7 0.33361892 3 1
8 0.53315507 3 1
9 0.26851394 3 1
10 0.05062280 4 2
11 -0.30924511 4 2
12 -0.61460429 4 2
13 -0.18901238 5 2
14 0.58881858 5 2
15 0.58625502 5 2
16 0.52002793 6 2
17 1.23862937 6 2
18 -2.02333160 6 2
19 -0.09918607 7 3
20 0.65947932 7 3
21 -0.65440238 7 3
22 0.10923036 8 3
23 0.76845484 8 3
24 -0.24804574 8 3
25 -0.30890950 9 3
26 -2.82056870 9 3
27 0.56828147 9 3
(我正在研究的主要问题是基因型和类的关系 - 不是每个基因型*类组合的大小或样本大小的实际值)
如果每个基因型完全包含在一个类中,那么您就无法将基因型效果与类效果分开。希望这对你有意义 - 如果不是让我用一个小例子说明。首先 - 由于每个基因型完全属于一个类,我们无法适应交互 - 这根本没有意义。如果基因型可能是至少两个类的一部分,则相互作用将是有用的,因为它将允许我们基于其用于观察的类来归因基因型的不同效果。但由于每种基因型只在一个类别中......因此拟合具有相互作用的模型。
现在看看为什么我们不能适应类效应只考虑包含基因型1-3的第1类。需要认识到的是,对于线性模型(以及ANOVA只是线性模型的一个特例),我们建模的是不同组中的条件均值 - 如果可能的话,我们会尝试将其划分为某些效果。所以任何给我们相同组的手段的模型基本上是等价的。假设第1类的效果为c,对基因型1-3的效果分别为x,y和z(分别)。然后,对于基因型3 /类别1 = c + z,对于基因型2 /类别1 = c + y,组genotype1 / class1 = c + x的值。但请注意,我们可以很容易地说class1效应是0,然后说基因型1-3的效果是c + x,c + y,c + z(分别)。所以在这种情况下,班级完全没用。由于基因型完全嵌套在类中,因此无法分离类效应。因此,如果我们想要拟合完全固定的效果模型,我们只能拟合对基因型具有单独影响的模型。