2012-07-19 44 views
3

我想運行一個ANCOVA使用car::Anova,但無法找出是否有一種方法來添加協變量僅作爲主要效果(即不應該與任何事物交互)。汽車:: Anova方式有一個協變量,不與受試者內因素相互作用

就我所瞭解的ANCOVA而言,協變量只是模型中增加的另一個主要效應(即多一個效應),從而控制了這個協變量的總體附加影響。其次,協變量不與其他因素相互作用。但是,我不能在Anova中添加一個與主題內因素不相關的變量(即,我的最終模型似乎不符合ANCOVA)。

讓我用來自?Anova的示例說明我的問題。 OBrienKaiser數據集在(treatmentgender)之間有2個因子,而在(phasehour)因子之間有2個數據集。現在讓我們假設我們還記錄了參與者的age,並且希望將其作爲任何分析的協變量添加。

require(car) 
set.seed(1) 

n.OBrienKaiser <- within(OBrienKaiser, age <- sample(18:35, size = 16, replace = TRUE)) 

# the next part is taken from ?Anova 
# I only modified the mod.ok <- ... call by adding + age 
phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)), levels=c("pretest", "posttest", "followup")) 
hour <- ordered(rep(1:5, 3)) 
idata <- data.frame(phase, hour) 

mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, 
      fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment*gender + age, data=n.OBrienKaiser) 
(av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour, type = 3)) 

至於結果表明,該結果包含互動與協age,的受試者內(或重複測量)因素phasehour及其相互作用phase:hour即:

Type III Repeated Measures MANOVA Tests: Pillai test statistic 
          Df test stat approx F num Df den Df Pr(>F) 
(Intercept)     1  0.129  1.33  1  9 0.278 
treatment     2  0.443  3.58  2  9 0.072 . 
gender      1  0.305  3.95  1  9 0.078 . 
age       1  0.054  0.52  1  9 0.490 
treatment:gender    2  0.222  1.28  2  9 0.323 
phase      1  0.418  2.87  2  8 0.115 
treatment:phase    2  0.871  3.47  4  18 0.029 * 
gender:phase     1  0.084  0.37  2  8 0.703 
age:phase     1  0.393  2.59  2  8 0.136 
treatment:gender:phase  2  0.545  1.69  4  18 0.197 
hour       1  0.565  1.95  4  6 0.222 
treatment:hour    2  0.580  0.72  8  14 0.676 
gender:hour     1  0.310  0.68  4  6 0.633 
age:hour      1  0.508  1.55  4  6 0.301 
treatment:gender:hour  2  0.707  0.96  8  14 0.504 
phase:hour     1  0.975  9.56  8  2 0.098 . 
treatment:phase:hour   2  1.145  0.50  16  6 0.873 
gender:phase:hour   1  0.693  0.56  8  2 0.770 
age:phase:hour    1  0.974  9.40  8  2 0.100 . 
treatment:gender:phase:hour 2  1.314  0.72  16  6 0.723 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

我問題是:是否可以使用car::Anova運行ANCOVA?如果有,是否有方法可以指定此ANCOVA而不需要任何age的交互?


更新(2012年7月22日):我問的R-help這個問題,但至今沒有迴應。如果有新聞,我會在這裏發佈。

+0

您可以使用'imatrix'參數(_「作爲指定idata,idesign和(可選)圖標追蹤的替代方式來指定此內容,可以直接以列表的形式給出主題內設計的模型矩陣命名元素「_,來自幫助)?否則,使用'lme4'包而不是'car'可能是一個選擇。 – ROLO 2012-07-20 10:53:46

+0

@ROLO我希望如此,但不幸的是,我不知道如何(因此我的問題)。我看了起訴「imatrix」的例子,但無法弄清楚我是否可以適應它們(似乎它們只涉及受試者內因素)。到目前爲止,我想避免使用'lme4'並堅持良好的舊複合對稱相關結構。 – Henrik 2012-07-20 11:12:34

回答

1

我在R-help上詢問了這個問題,這個問題開始與John Fox(後來由Peter Dalgaard加入)進行了有益的討論。不幸的是它分成兩個線程:one,two

這句話是: 「內部對象的對比是由Anova()在設計的行基礎上構建的,因此您應該能夠安全地忽略其中的某些影響(出於某種原因逃避我)你不感興趣。「 (約翰福克斯)

所以這個問題的答案是:沒有人不能,但沒關係,因爲這些相互作用不會改變其他效應,因爲它們是正交的。