2012-08-05 52 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