如何在R中执行ANCOVA


17

我想对有关植物附生植物密度的数据进行ANCOVA分析。首先,我想知道两个坡度(一个N和一个S)之间的植物密度是否存在任何差异,但是我还有其他数据,例如海拔,冠层开放度和寄主植物的高度。我知道我的协变量必须是两个斜率(N和S)。我建立了在R中运行的模型,尽管我不知道它是否运行良好。我也想知道如果使用符号+或会有什么区别*

model1 <- aov(density~slope+altitude+canopy+height)
summary(model1)
model1

3
+将仅计算主要影响,*将估计与*相关的因素之间的相互作用。ANCOVA框架通常仅估计连续因素的主要影响,但估计所有分组因素之间的相互作用。
russellpierce

Answers:


14

基本工具是lm; 请注意,这aov是的包装lm

特别是,如果您有一些分组变量(因子)G和连续的协变量X,则该模型y ~ x + g将拟合主效应ANCOVA模型,而y ~ x * g将拟合包含与协变量交互作用的模型。aov将采用相同的公式。

请特别注意上Note的帮助aov

至于+VS *,russellpierce几乎涵盖它,但我建议你看看?lm?formula最特别是手册的第11.1节介绍与R(或者你可以在网上找到它自带的R如果你还没有想出如何在计算机上找到它;最简单的方法是在R或RStudio中找到“帮助”下拉菜单。


假设我有两个组因素,和两个协变量X 1X 2,与我的模型是Ŷ Ĵ = μ + α + η Ĵ + X Ĵ 1 γ 1 + X Ĵ 2 γ 2 + ϵ i j y〜g_1 + g_2 + x_1 + x_2是否有相同的技巧?做反对X_1和X_2试验得到的的F值γ 1 = 02G1个G2X1个X2
ÿ一世Ĵ=μ+α一世+ηĴ+X一世Ĵ1个γ1个+X一世Ĵ2γ2+ϵ一世Ĵ
γ1个=0γ2=0

不知道我怎么想念这个。是。....如果您想一次测试两者,则将它们同时适合和不适合,并将适合的lm对象传递给anova(您很快就会发现您给它们的顺序是否错误,因为如果这样做,某些SS会为负值)
Glen_b-恢复莫妮卡的时间

10

我建议阅读和阅读使用R by Field的发现统计信息。他在ANCOVA上有一个不错的部分。

要在R中运行ANCOVA,请加载以下软件包:

car
compute.es
effects
ggplot2
multcomp
pastecs
WRS

如果您使用lmaov(我使用aov),请确保在使用aov或之前先使用“对比度”功能设置对比度lm。R默认情况下使用非正交对比,这会弄乱ANCOVA中的所有内容。如果要设置正交对比度,请使用:

contrasts(dataname$factorvariable)=contr.poly(# of levels, i.e. 3) 

然后运行您的模型

model.1=aov(dv~covariate+factorvariable, data=dataname)

要查看模型,请使用:

Anova(model.1, type="III") 

确保您Anova在此处而不是大写字母“ A” anova。这将使用III型SS给出结果。

summary.lm(model.1)将给出另一个摘要,并包括R-sq。输出。

posth=glht(model.1, linfct=mcp(factorvariable="Tukey"))  ##gives the post-hoc Tukey analysis
summary(posth) ##shows the output in a nice format.

如果要测试回归斜率的均匀性,则还可以包括IV和协变量的交互项。那将是:

model=aov(dv~covariate+IV+covariate:IV, data=dataname)

如果交互作用项很重要,则说明您没有同质性。


为什么非正交的对比会使所有东西混乱?
tintinthong

1
要回答以上有关“为什么非正交对比度会使所有内容混乱”的问题。答案是R默认为非正交(即均值之差),如果您想分别查看每个IV的贡献,则可能会引起问题。当我们指定正交对比时,我们告诉R我们希望IV的SS被完全分割并且不重叠。通过这种方式,我们可以清晰,清晰地看到归因于每个预测变量的变化。如果未指定,R默认使用更自由的对比方法。

2
为什么对III型SS感兴趣?
弗兰克·哈雷尔

4

这是补充文件 @Butorovich建议的过程 http://goo.gl/yxUZ1R。另外,我的观察是,当协变量为二进制时,使用summary(lm.object)将给出与Anova(lm.object,type =“ III”)生成的IV估计相同的IV估计。


1
目前尚不清楚这是否是答案。是吗?如果是这样,请进行编辑以澄清。如果有问题,请单击ASK QUESTION顶部的并在此处提问。然后,我们可以为您提供适当的帮助。
gung-恢复莫妮卡

同意 该消息已被修订为对先前消息的(补充)答复。
2015年

3

我们使用回归分析来创建模型,以描述预测变量对响应变量的影响。有时,如果我们有一个类别变量,其值是“是/否”或“男性/女性”等,则简单的回归分析会为该类别变量的每个值提供多个结果。在这种情况下,我们可以通过将分类变量与预测变量一起使用并比较分类变量每个级别的回归线来研究分类变量的影响。这种分析称为协方差分析,也称为ANCOVA。

示例
考虑R内置数据集mtcars。在其中,我们观察到该字段am表示传输类型(自动或手动)。它是具有0和1值的分类变量。汽车的每加仑英里值(mpg)除了马力(hp)值以外,还可以取决于它。我们研究的价值的影响am上之间的回归mpghp。这是通过使用aov()函数及其后的anova()函数比较多元回归来完成的。

输入数据
创建包含的字段的数据帧mpghpam从所述数据集mtcars。在这里,我们将其mpg作为响应变量,hp预测变量和am分类变量。

input <- mtcars[,c("am","mpg","hp")]
head(input)

当我们执行以上代码时,它会产生以下结果:

                  am  mpg  hp
Mazda RX4          1 21.0 110
Mazda RX4 Wag      1 21.0 110
Datsun 710         1 22.8  93
Hornet 4 Drive     0 21.4 110
Hornet Sportabout  0 18.7 175
Valiant            0 18.1 105

ANCOVA分析
我们创建一个回归模型hp,将预测变量和mpg响应变量纳入考虑范围amhp

类别变量与预测变量之间具有交互作用的模型

创建回归模型1

result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)

当我们执行以上代码时,它会产生以下结果:

            Df Sum Sq Mean Sq F value   Pr(>F)    
hp           1  678.4   678.4  77.391 1.50e-09 ***
am           1  202.2   202.2  23.072 4.75e-05 ***
hp:am        1    0.0     0.0   0.001    0.981    
Residuals   28  245.4     8.8                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

该结果表明,马力和传输类型均对每加仑英里数有显着影响,因为两种情况下的p值均小于0.05。但是,由于p值大于0.05,所以这两个变量之间的相互作用并不显着。

类别变量和预测变量之间没有交互的模型

创建回归模型2

result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)

当我们执行以上代码时,它会产生以下结果:

            Df Sum Sq Mean Sq F value   Pr(>F)    
hp           1  678.4   678.4   80.15 7.63e-10 ***
am           1  202.2   202.2   23.89 3.46e-05 ***
Residuals   29  245.4     8.5                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

该结果表明,马力和传输类型均对每加仑英里数有显着影响,因为两种情况下的p值均小于0.05。

比较两个模型
现在,我们可以比较两个模型,以得出变量之间的交互作用是否确实不重要的结论。为此,我们使用anova()功能。

 anova(result1,result2)

 Model 1: mpg ~ hp * am
 Model 2: mpg ~ hp + am
   Res.Df    RSS Df  Sum of Sq     F Pr(>F)
 1     28 245.43                           
 2     29 245.44 -1 -0.0052515 6e-04 0.9806

当p值大于0.05时,我们得出结论,马力和传输类型之间的交互作用不显着。因此,在自动和手动变速模式下,每加仑的行驶里程将以类似的方式取决于汽车的马力。


那么,这个答案或本教程的帖子是第一个指向的?tutorialspoint.com/r/r_analysis_of_covariance.htm。应该以as窃删除此答案吗?还是教程只是指向此处复制?
约翰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.