power.prop.test Ошибка при запуске цикла for - PullRequest
0 голосов
/ 18 июня 2020

Когда я попытался запустить power.prop.test для анализа мощности для A / B-тестирования, он показал себя хорошо. Однако, когда я попытался нарисовать график размера выборки, необходимого для серии «мощность», я сделал для l oop, консоль выдала мне эту ошибку.

 p2 <- seq(.1511, .188875, .007555)
 np2 <- length(p2)
 power <- seq(.4, .9, .1)
 npower <- length(power)
 samsize <- array(numeric(np2*npower), dim = c(np2,npower))
 for (i in 1:npower){
   for (j in 1:np2){
     result <- power.prop.test(n = NULL, p1 =.1511, p2 = p2[j], 
                               sig.level = .05, power = power[i],
                               alternative = c("two.sided","one.sided"),
                               strict = FALSE, tol = .Machine$double.eps^.25)
     samsize[j,i] <- ceiling(result$n)
   }
 }

Ошибка в uni root (function (n) eval (p.body) - power, c (1, 1e + 07), tol = tol,: изменение знака не обнаружено за 1000 итераций

# Сообщение об ошибке Ошибка в uni root (function (n) eval (p.body) - power, c (1, 1e + 07), tol = tol,: изменение знака не обнаружено за 1000 итераций

Интересно, как исправить.

1 Ответ

1 голос
/ 18 июня 2020

Я подозреваю, что это как-то связано с тем, что p2[1] = p1. Это подразумевает бесконечный размер выборки.

Кстати: когда у вас есть проблемы в al oop, как это, очень полезно знать, на какой итерации l oop возникает проблема. В следующий раз поместите несколько операторов печати в соответствующие места, чтобы выяснить состояние l oop при возникновении ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...