Estoy intentando construir una prueba de hipótesis para la varianza de dos poblaciones. Mi estadística de prueba es $ F = $$ {\ sigma_b ^ 2} $ / $ {\ sigma_A ^ 2} $. Quiero implementar esto como una función en R, así que calculé: a=function(B,A){ var(B)/var(A) }
Ahora, quiero calcular el valor p usando esta estadística de prueba en R. ¿Cómo puedo hacer esto?
Comentarios
Respuesta
Ya que está calculando la estadística F, podría usar la función pf
.
Como ejemplo, tomemos los siguientes datos como ejemplo.
set.seed(123) x <- rnorm(50, mean = 0, sd = 2) y <- rnorm(30, mean = 1, sd = 1) f <- var(x)/var(y) # make sure to double for two-sided pf(f, df1=49, df2=29, lower.tail=F)*2 [1] 0.0001897506
Como señaló Gung, no me di cuenta de que estás tratando de hacer Hartley Prueba de Fmax. En cuyo caso, ni siquiera necesita calcular la estadística F o incluso las varianzas, puede usar var.test
.
var.test(x, y)$p.value [1] 0.0001897506
También como lo señaló gung, hay una prueba de Levene (leveneTest
) en el paquete car
.
Comentarios
- El OP está intentando realizar la prueba Hartley ' s $ F $ -max, por lo que df los datos son incorrectos (consulte aquí , & aquí ).
- @gung Tienes razón, vergonzosamente lo pasé por alto. Actualizado ahora.
- Eso ' está bien, ' es algo fácil de pasar por alto. Sin embargo, corrija el df en su respuesta.
car
.