子集数据的ANOVA

时间:2016-01-20 11:09:34

标签: r subset anova

我正在操作包含多个因子和几个变量的数据集。我的想法是,我想在嵌套在另一个因子的一个级别内的因子水平之间进行ANOVA分析。

以下是与我的数据集类似的示例:

     treatment category trial individual response
1          A      big     1         F1     0.10
2          A      big     2         F1     0.20
3          A      big     1         F2     0.30
4          A      big     2         F2     0.11
5          A    small     1         F3     0.12
6          A    small     2         F3     0.13
7          A    small     1         F4     0.20
8          A    small     2         F4     0.30
9          B      big     1         F5     0.40
10         B      big     2         F5     0.21
11         B      big     1         F6     0.22
12         B      big     2         F6     0.23
13         B    small     1         F7     0.31
14         B    small     2         F7     0.32
15         B    small     1         F8     0.34
16         B    small     2         F8     0.25

所以基本上,当治疗为A,然后是B时,我想在大小之间进行ANOVA,然后当治疗为A和试验1时,大小之间的ANOVA也有相同的想法......你得到了逻辑。

似乎我必须使用:

anova(lm(Y~x,data=dataset))

并添加一个子集参数,但我无法使用它的逻辑,我找不到任何类似于我的例子。有什么暗示吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的描述,您想将分离的方差分析应用于数据的不同子集。 试试这个:

df1 <- df[df$treatment=="A",]
df2 <- df[df$treatment=="B",]
aov(response ~ category, data=df1)
aov(response ~ category, data=df2)

如果您对因子治疗的效果感兴趣,也许您应该将其保留在一个更复杂的模型中,并使用事后检验来检验治疗A和治疗B中的差异。但这只是一个建议。