0

我正在尝试为比例测试创建一个模拟,看看我多久会得到一个显着的结果(即 p/value < 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 进行 1 样本比例测试的方法,但我不知道如何进行 2 样本测试。看起来我应该能够在一行中完成它,并且只需得到一个 p 值向量作为输出。

我尝试了以下

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

但它给了我 200 个 1 样本比例测试,而不是 100 个 2 样本比例测试......我能做些什么来解决它?

理想情况下,我会得到一个长度为 100 且带有 p.values 的向量,这样我就可以检查哪个部分低于 5%,这就是测试能力。

4

1 回答 1

1

如果我让你正确,你想要每个道具的每个 p.value。测试。你试过这个吗?prop.test(test,ctrl)[[4]]

于 2016-03-14T21:38:31.213 回答