|
233 | 233 | #' # Must return a single number corresponding to f(x) in the |
234 | 234 | #' # root equation f(x) = b |
235 | 235 | #' |
236 | | -#' ret <- EDR(results, alpha = condition$sig.level) |
| 236 | +#' ret <- c(power = EDR(results, alpha = condition$sig.level)) |
237 | 237 | #' ret |
238 | 238 | #' } |
239 | 239 | #' |
240 | 240 | #' #~~~~~~~~~~~~~~~~~~~~~~~~ |
241 | 241 | #' #### Step 3 --- Optimize N over the rows in design |
242 | | -#' # Initial search between N = [10,500] for each row using the default |
243 | | -#' # integer solver (integer = TRUE) |
244 | 242 | #' |
245 | | -#' # In this example, b = target power |
| 243 | +#' # (For debugging) may want to see if simulation code works as intended first |
| 244 | +#' # for some given set of inputs |
| 245 | +#' runSimulation(design=createDesign(N=100, d=.8, sig.level=.05), |
| 246 | +#' replications=10, generate=Generate, analyse=Analyse, |
| 247 | +#' summarise=Summarise) |
| 248 | +#' |
| 249 | +#' # Initial search between N = [10,500] for each row using the default |
| 250 | +#' # integer solver (integer = TRUE). In this example, b = target power |
246 | 251 | #' solved <- SimSolve(design=Design, b=.8, interval=c(10, 500), |
247 | 252 | #' generate=Generate, analyse=Analyse, |
248 | 253 | #' summarise=Summarise) |
|
259 | 264 | #' |
260 | 265 | #' # verify with true power from pwr package |
261 | 266 | #' library(pwr) |
262 | | -#' pwr.t.test(d=.2, power = .8, sig.level = .05) |
263 | | -#' pwr.t.test(d=.5, power = .8, sig.level = .05) |
264 | | -#' pwr.t.test(d=.8, power = .8, sig.level = .05) |
| 267 | +#' pwr.t.test(d=.2, power = .8) # sig.level/alpha = .05 by default |
| 268 | +#' pwr.t.test(d=.5, power = .8) |
| 269 | +#' pwr.t.test(d=.8, power = .8) |
265 | 270 | #' |
266 | 271 | #' # use estimated N results to see how close power was |
267 | 272 | #' N <- solved$N |
268 | | -#' pwr.t.test(d=.2, n=N[1], sig.level = .05) |
269 | | -#' pwr.t.test(d=.5, n=N[2], sig.level = .05) |
270 | | -#' pwr.t.test(d=.8, n=N[3], sig.level = .05) |
| 273 | +#' pwr.t.test(d=.2, n=N[1]) |
| 274 | +#' pwr.t.test(d=.5, n=N[2]) |
| 275 | +#' pwr.t.test(d=.8, n=N[3]) |
271 | 276 | #' |
272 | 277 | #' # with rounding |
273 | 278 | #' N <- ceiling(solved$N) |
274 | | -#' pwr.t.test(d=.2, n=N[1], sig.level = .05) |
275 | | -#' pwr.t.test(d=.5, n=N[2], sig.level = .05) |
276 | | -#' pwr.t.test(d=.8, n=N[3], sig.level = .05) |
| 279 | +#' pwr.t.test(d=.2, n=N[1]) |
| 280 | +#' pwr.t.test(d=.5, n=N[2]) |
| 281 | +#' pwr.t.test(d=.8, n=N[3]) |
277 | 282 | #' |
278 | 283 | #' # failing analytic formula, confirm results with more precise |
279 | 284 | #' # simulation via runSimulation() |
|
301 | 306 | #' |
302 | 307 | #' # use estimated N results to see how close power was |
303 | 308 | #' N <- solved_2min$N |
304 | | -#' pwr.t.test(d=.2, n=N[1], sig.level = .05) |
305 | | -#' pwr.t.test(d=.5, n=N[2], sig.level = .05) |
306 | | -#' pwr.t.test(d=.8, n=N[3], sig.level = .05) |
| 309 | +#' pwr.t.test(d=.2, n=N[1]) |
| 310 | +#' pwr.t.test(d=.5, n=N[2]) |
| 311 | +#' pwr.t.test(d=.8, n=N[3]) |
307 | 312 | #' |
308 | 313 | #' #------------------------------------------------ |
309 | 314 | #' |
|
331 | 336 | #' # In this example, b = target power |
332 | 337 | #' # note that integer = FALSE to allow smooth updates of d |
333 | 338 | #' solved <- SimSolve(design=Design, b = .8, interval=c(.1, 2), |
334 | | -#' generate=Generate, analyse=Analyse, |
335 | | -#' summarise=Summarise, integer=FALSE) |
| 339 | +#' generate=Generate, analyse=Analyse, |
| 340 | +#' summarise=Summarise, integer=FALSE) |
336 | 341 | #' solved |
337 | 342 | #' summary(solved) |
338 | 343 | #' plot(solved, 1) |
|
346 | 351 | #' |
347 | 352 | #' # verify with true power from pwr package |
348 | 353 | #' library(pwr) |
349 | | -#' pwr.t.test(n=100, power = .8, sig.level = .05) |
350 | | -#' pwr.t.test(n=50, power = .8, sig.level = .05) |
351 | | -#' pwr.t.test(n=25, power = .8, sig.level = .05) |
| 354 | +#' pwr.t.test(n=100, power = .8) |
| 355 | +#' pwr.t.test(n=50, power = .8) |
| 356 | +#' pwr.t.test(n=25, power = .8) |
352 | 357 | #' |
353 | 358 | #' # use estimated d results to see how close power was |
354 | | -#' pwr.t.test(n=100, d = solved$d[1], sig.level = .05) |
355 | | -#' pwr.t.test(n=50, d = solved$d[2], sig.level = .05) |
356 | | -#' pwr.t.test(n=25, d = solved$d[3], sig.level = .05) |
| 359 | +#' pwr.t.test(n=100, d = solved$d[1]) |
| 360 | +#' pwr.t.test(n=50, d = solved$d[2]) |
| 361 | +#' pwr.t.test(n=25, d = solved$d[3]) |
357 | 362 | #' |
358 | 363 | #' # failing analytic formula, confirm results with more precise |
359 | 364 | #' # simulation via runSimulation() |
|
0 commit comments