加R项的双向方差分析不';t出现在汇总表中

加R项的双向方差分析不';t出现在汇总表中,r,anova,R,Anova,我处理的数据集涉及9种不同的基因型,分为3类。每个基因型大约有20个大小测量值被记录下来 我尝试进行双向方差分析(在单向方差分析确定基因型之间的大小存在显著差异后),以便分析3个类别以及不同基因型之间的差异 我使用了函数aov(size~genetic*class,data=x) 我获得的汇总表中只有一行是关于基因型的,我没有看到类或基因型:类,正如我预期的那样。 我得到的表与我刚运行aov(size~generic,data=x)时得到的表相同。 我做错了什么? 即使类/类:基因型不会改变结果

我处理的数据集涉及9种不同的基因型,分为3类。每个基因型大约有20个大小测量值被记录下来

我尝试进行双向方差分析(在单向方差分析确定基因型之间的大小存在显著差异后),以便分析3个类别以及不同基因型之间的差异

我使用了函数
aov(size~genetic*class,data=x)
我获得的汇总表中只有一行是关于
基因型的
,我没有看到
基因型:类
,正如我预期的那样。 我得到的表与我刚运行aov(size~generic,data=x)时得到的表相同。

我做错了什么?
即使
/
类:基因型
不会改变结果的显著性,它们仍应显示在方差分析汇总表中?

简言之,你无法拟合你试图拟合的模型。。。至少如果我正确理解你的数据。我的理解是,你有类似的东西:

dat dat dat dat 大小基因型类 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。然后,基因型1/class1组的值=c+x,基因型2/class1组的值=c+y,基因型3/class1组的值=c+z。但请注意,我们可以很容易地说,1类效应为0,然后说基因型1-3的效应分别为c+x、c+y、c+z。所以在这种情况下,类是完全无用的。由于基因型完全嵌套在类内,因此无法分离类效应。因此,如果我们想拟合一个完全固定效应模型,我们只能拟合一个对基因型有单独效应的模型。

是的,他们通常应该;在
?aov
中运行该示例。这意味着,如果没有您生成一个示例数据集,我们将无法帮助您。很抱歉,我不理解您生成一个示例数据集是什么意思?我将能够运行并重现您的错误。要么给我你的原始数据,要么创建一些产生相同问题的虚假数据。当我对我的数据运行
aov()
时,你看,我没有你的问题。我注意到每个基因型都与不同数量的测量相关(例如一些有13个,一些有26个)…这会导致问题吗?我应该用平均数来代替吗?不,你应该给我们提供示例数据。这非常有帮助!非常感谢。有没有一个模型,你可以建议,同时考虑到基因组和类?或者结果总是与我得到的结果相同吗?或者,更准确地说,有没有一种方法可以让我测试这些类别是如何不同的,以及每个类别的基因型是如何不同的?可能是某种随机效应模型,但这更多的是一个统计问题,而不是一个编程问题。你最好在晚上问这样的问题
> 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