Ik probeer een hypothesetest te construeren voor de variantie van twee populaties. Mijn teststatistiek is $ F = $$ {\ sigma_b ^ 2} $ / $ {\ sigma_A ^ 2} $. Ik wil dit als een functie in R implementeren, dus ik heb berekend: a=function(B,A){ var(B)/var(A) }
Nu wil ik de p-waarde berekenen met behulp van deze teststatistiek in R. Hoe kan ik dit doen?
Opmerkingen
Answer
Aangezien u de F-statistiek berekent, kunt u de functie pf
gebruiken.
Laten we als voorbeeld de volgende gegevens als voorbeeld nemen.
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
Zoals gung opmerkte, realiseerde ik me niet dat je Hartleys Fmax-test. In dat geval hoeft u niet eens de F-statistiek of zelfs de varianties te berekenen, u kunt gewoon var.test
gebruiken.
var.test(x, y)$p.value [1] 0.0001897506
Zoals ook opgemerkt door gung, is er Levene “s test (leveneTest
) in het car
pakket.
Reacties
- Het OP probeert Hartley ' s $ F $ -max-test uit te voeren, dus de als je iets verkeerds geeft (zie hier , & hier ).
- @gung Je hebt gelijk, ik heb dat beschamend over het hoofd gezien. Nu bijgewerkt.
- Dat ' is OK, het is ' iets om gemakkelijk over het hoofd te zien. Corrigeer de df in uw antwoord echter.
car
pakket.