用于计算范围内的样本大小的函数

时间:2018-04-30 20:44:53

标签: r function sampling

我正在尝试使用R中内置函数的power.prop.test来获取如下数据集:

Test  P1  P2       Population
1     0.1   0.11   1000
2     0.1   0.12   1500

并使用power.prop.test函数计算每个测试场景的n。我很想把人口除以n来得到整数最大测试场景,如下所示:

Test  P1  P2       Population    n     Max Tests
1     0.1   0.11   1000          450   2
2     0.1   0.12   1500          335   4

我想我需要迭代power.prop.test函数并从每次迭代中提取n并将其附加到表中,但我不知道如何继续。任何和所有帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先将适当的列添加到数据框中。然后,遍历每一行,做你想做的事。

df$MaxTests <- df$n <- 0
power.val = .85
for (i in 1:nrow(df)) {
    df$n[i] <- floor(power.prop.test(p1=df$P1[i],p2=df$P2[i],power=power.val,sig.level=0.05)$n)
    df$MaxTests[i] <- floor(df$Population[i]/df$n[i])
}