Rのp値を計算するにはどうすればよいですか?

2つの母集団の分散の仮説検定を作成しようとしています。私の検定統計量は$ F = $$ {\ sigma_b ^ 2} $ / $ {\ sigma_A ^ 2} $です。これをRの関数として実装したいので、次のように計算しました。a=function(B,A){ var(B)/var(A) }

ここで、Rのこの検定統計量を使用してp値を計算します。どうすればよいですか?

コメント

  • 実際に2つの母集団がある場合、テストしても意味がありません。それらは等しいかどうかのどちらかです。 OTOH、これは2つのサンプルの分散をテストするための良い方法ではありません。代わりにLevene / Brown-Forsythe検定を使用してください(なぜLevene検定を行うのかF比ではなく分散の同等性)。代わりに、carパッケージの?leveneTest を使用してください。

回答

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を修正してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です