Re: [問題] type III anova
先解決MS不正確的問題。
因為不平衡設計而採用 Type III SS 時,
必須將類別變數轉換成正交的虛擬變數。
不過,R 內建的虛擬變數轉換方式是 simple contrast
(在 R 中稱為 contr.treatment),
而 simple contrast 並不是正交的。
R 有內建其它常用的正交轉換方式,
包括 contr.sum 和 contr.helmert。
回到例子,正確的方式是。
contrasts(A) <- contr.sum # 更變虛擬變數
contrasts(B) <- contr.sum
m <- aov(Y~A*B)
library(car)
Anova(m, type=3) # Type III SS
即可得到正確的 MS。
至於如何設立隨機因子就先不談,還蠻複雜的。
※ 引述《DrRd (就這樣吧)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 要進行type III的變異數分析
: 共有A、B兩個因子,其中A是固定效果,B是隨機效果
: 網路上有看到可以用car裡面的Anova(,type=3)
: 但它沒有讓我指定何者為固定何者為隨機
: 算出來的結果也不正確
: 請問除了手算之外,有其他的套件可以算嗎?
: [程式範例]:
: aov.result = aov(Y~A*B)
: summary(aov.result)
: Df Sum Sq Mean Sq F value Pr(>F)
: A 2 222.6 111.30 5.532 0.00711 **
: B 1 0.1 0.14 0.007 0.93447
: A:B 2 76.4 38.18 1.898 0.16169
: Residuals 45 905.4 20.12
: ---
: Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
: 用aov得到的結果A效果的F值是除上Residuals得到的
: 但是因為B是隨機效果,所以A的F值應該是要除以A:B
: 目前我是都用手算來得到A效果的真正的F值
: 我在網路上看到說可以用car:::Anova
: 所以我改用
: >library(car)
: >Anova(aov.result,type=3)
: Anova Table (Type III tests)
: Response: Y
: Sum Sq Df F value Pr(>F)
: (Intercept) 544.44 1 27.0598 4.683e-06 ***
: A 22.03 2 0.5475 0.5822
: B 47.45 1 2.3584 0.1316
: A:B 76.37 2 1.8979 0.1617
: Residuals 905.40 45
: ---
: Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
: 改用這個之後Sum Sq都變了
: 也許是因為不等格的關係?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.37.172
※ 編輯: andrew43 來自: 122.117.37.172 (05/06 04:13)
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章