20 votos

¿Por qué la prueba t y el ANOVA dan valores p diferentes para la comparación de dos grupos?

En el artículo de Wikipedia sobre ANOVA dice

En su forma más simple, el ANOVA proporciona una prueba estadística para determinar si las medias de varios grupos son iguales o no y, por lo tanto, generaliza la prueba t a más de dos grupos.

Según tengo entendido, ANOVA es lo mismo que la prueba t cuando se trata de una comparación entre dos grupos.

Sin embargo, en mi sencillo ejemplo de abajo (en R), ANOVA y la prueba t dan valores p similares pero ligeramente diferentes. ¿Alguien puede explicar por qué?

x1=rnorm(100,mean=0,sd=1)
x2=rnorm(100,mean=0.5,sd=1)

y1=rnorm(100,mean=0,sd=10)
y2=rnorm(100,mean=0.5,sd=10)

t.test(x1,x2)$p.value  # 0.0002695961
t.test(y1,y2)$p.value  # 0.8190363

df1=as.data.frame(rbind(cbind(x=x1,type=1), cbind(x2,type=2)))
df2=as.data.frame(rbind(cbind(x=y1,type=1), cbind(y2,type=2)))

anova(lm(x~type,df1))$`Pr(>F)`[1]  # 0.0002695578
anova(lm(x~type,df2))$`Pr(>F)`[1]  # 0.8190279

30voto

ocram Puntos 9992

Por defecto, el argumento var.equal de t.test() es igual a FALSE . En lm() se supone que los residuos tienen una varianza constante. Así, estableciendo var.equal = TRUE en t.test() debería obtener el mismo resultado.

var.equals indica si se deben tratar las dos varianzas como iguales. Si es TRUE, se utiliza la varianza combinada para estimar la varianza; de lo contrario, se utiliza la aproximación de Welch (o Satterthwaite) a los grados de libertad.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X