0

どのくらいの頻度で有意な結果が得られるか (つまり、p/値 < 0.05) を確認するために、比率検定のシミュレーションを作成しようとしています。母集団のサイズが等しくないと仮定しているので、たとえば

test <- rbinom(100, 5000, 0.05)

ctrl <- rbinom(100, 10000, 0.04)

ここでは、100 のシミュレートされたテストがあり、テスト母集団に 5000、コントロールに 10000 があり、コンバージョン率の実際の差 (テストの場合は 0.05、コントロールの場合は 0.04) があります。

ここで、これらのシミュレートされた検定のそれぞれについて比率検定を実行し、p 値を取得したいと考えています。したがって、最初のテストでは、次のようにします。

prop.test(c(test[1], ctrl[2]), c(5000, 10000))$p.value

次に、これを for ループでループして、シミュレートされた各テストの p 値を取得します。

これをよりコンパクトな方法で行うことを検討しています。Map hereを使用した1サンプルの比率検定でそれを行う方法を見つけましたが、2サンプルの検定でそれを行う方法に行き詰まっています。1行で実行でき、出力としてp値のベクトルを取得できるように思えます。

私は次のことを試しました

Map(prop.test, c(test,ctrl), c(5000, 10000), alternative="two.sided", correct = F)

しかし、100 の 2 サンプル比率テストではなく、200 の 1 サンプル比率テストを提供しています...それを修正するために私ができるアイデアはありますか?

理想的には、p.values で長さ 100 のベクトルを取得するので、どの部分が 5% 未満であるかを確認でき、それがテストの検出力になります..

4

1 に答える 1