Функция для расчета размера выборки в диапазоне - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь работать со встроенной функцией power.prop.test в R, чтобы получить набор данных, подобный следующему:

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 голосов
/ 01 мая 2018

Сначала добавьте соответствующие столбцы во фрейм данных. Затем выполните цикл по каждой строке, чтобы сделать то, что вы хотите.

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])
}
...