2012-08-05 57 views
3

我想知道在R中是否有方法來做不等方差的方差分析?具有不等方差的參數ANOVA

想象以下示例:

x <- c(10,11,15,8,16,12,20) 
y <- c(10,14,18,25,28,30,35) 

d <- c(x,y) 
f <- as.factor(c(rep("a",7), rep("b",7))) 

# Unequal variance: 

t.test(x,y)$p.value 
t.test(d~f)$p.value 

# Equal variance: 

t.test(x,y, var.equal=TRUE)$p.value 
t.test(d~f, var.equal=TRUE)$p.value 

anova(lm(d~f))[[5]] 
summary(aov(lm(d~f)))[[1]][5] 
summary(lm(d~f))[[4]][8] 

正如你可以從這個例子看出中的R執行ANOVA,在兩個組的情況下,方式的不同而已,總是導致的p值等同於一個通過t.test獲得並具有相等的方差。再一次,有沒有一種方法來執行不等方差的方差分析?

回答

5

對於這種情況有oneway.test()

R> oneway.test(d~f) 

    One-way analysis of means (not assuming equal variances) 

data: d and f 
F = 6.631, num df = 1.000, denom df = 8.339, p-value = 0.03179 
+0

太好了!沒什麼好說的 :) – user969113 2012-08-05 14:03:38