2つの母集団の分散の仮説検定を作成しようとしています。私の検定統計量は$ F = $$ {\ sigma_b ^ 2} $ / $ {\ sigma_A ^ 2} $です。これをRの関数として実装したいので、次のように計算しました。a=function(B,A){ var(B)/var(A) }
ここで、Rのこの検定統計量を使用してp値を計算します。どうすればよいですか?
コメント
回答
F統計量を計算しているので、pf
関数を使用できます。
例として、次のデータを例として取り上げましょう。
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
ガンが指摘したように、あなたがハートリーをやろうとしていることに気づきませんでした。 Fmax検定。この場合、F統計や分散を計算する必要はなく、var.test
を使用できます。
var.test(x, y)$p.value [1] 0.0001897506
gungが指摘しているように、car
パッケージにはLeveneのテスト(leveneTest
)があります。
コメント
- OPはHartley 'の$ F $ -maxテストを実行しようとしているため、指定したdfが正しくありません(こちら、& こちらをご覧ください)。
- @gung正解です、恥ずかしそうに見落としていました。今すぐ更新しました。
- 'わかりました、'見落としがちです。ただし、回答のdfを修正してください。
car
パッケージの?leveneTest を使用してください。