CTU-Bern / presize

Precision Based Sample Size Calculation

Home Page:https://ctu-bern.github.io/presize/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

check that vectors can be passed to all functions

aghaynes opened this issue · comments

# Check if vectorized

presize::prec_auc(.65, .1, n = 500)
presize::prec_auc(.65, c(.1, .2), n = c(500, 600))
# warning

presize::prec_cor(.4, 400)
presize::prec_cor(c(.4, .45), c(400, 500))
presize::prec_cor(c(.4, .45), c(400, 500), method = "pearson")
presize::prec_cor(c(.4, .45), c(400, 500), method = "kendall")
presize::prec_cor(c(.4, .45), c(400, 500), method = "spearman")
# ok

presize::prec_icc(.4, 4, 50)
presize::prec_icc(.4, 4, c(50, 60))
presize::prec_icc(.4, c(3, 4), c(50, 60))
# ok

presize::prec_kappa(.5, 200, props = c(.3, .7))
presize::prec_kappa(.5, c(200, 250), props = c(.3, .7))
presize::prec_kappa(c(.5, .6), c(200, 250), props = c(.3, .7))
# not ok, does combos

presize::prec_lim_agree(50)
presize::prec_lim_agree(50:60)
# ok

presize::prec_lr(.3, .8, .27, 74)
presize::prec_lr(.3, .8, .27, c(74, 90))
presize::prec_lr(.3, c(.7, .8), .27, c(74, 90))
presize::prec_lr(c(.3, .4), c(.7, .8), .27, c(74, 90))
# ok

presize::prec_mean(5, 1, 50)
presize::prec_mean(5, 1, c(50, 55))
presize::prec_mean(c(5, 8), 1, c(50, 55))
# ok 

presize::prec_meandiff(5,c(2.5, 2.5, 3), n1 = c(20, 25, 25))
# ok

presize::prec_neg_lr(.3, .67, .34, 30)
presize::prec_neg_lr(.3, .67, .34, c(30, 40))
presize::prec_neg_lr(c(.3, .4), .67, .34, c(30, 40))
presize::prec_neg_lr(.3, c(.5, .67), .34, c(30, 40))
# ok

presize::prec_or(.3, .4, 20)
presize::prec_or(.3, .4, c(20, 30))
presize::prec_or(.3, c(.2, .4), c(20, 30), method = "gart")
presize::prec_or(.3, c(.2, .4), c(20, 30), method = "woolf")
presize::prec_or(.3, c(.2, .4), c(20, 30), method = "indip_smooth")
# ok

presize::prec_pos_lr(.3, .67, .34, 30)
presize::prec_pos_lr(.3, .67, .34, c(30, 40))
presize::prec_pos_lr(c(.3, .4), .67, .34, c(30, 40))
presize::prec_pos_lr(.3, c(.5, .67), .34, c(30, 40))
# ok

presize::prec_prop(.3, 50)
presize::prec_prop(.3, 50:55)
presize::prec_prop(c(.3, .4), c(50, 60), method = "wilson")
presize::prec_prop(c(.3, .4), c(50, 60), method = "agresti-coull")
presize::prec_prop(c(.3, .4), c(50, 60), method = "exact")
presize::prec_prop(c(.3, .4), c(50, 60), method = "wald")
# ok

presize::prec_rate(.3, 40)
presize::prec_rate(.3, c(40, 50))
presize::prec_rate(c(.3, .4), c(40, 50))
presize::prec_rate(c(.3, .4), c(40, 50), method = "score")
presize::prec_rate(c(.3, .4), c(40, 50), method = "vs")
presize::prec_rate(c(.3, .4), c(40, 50), method = "exact")
presize::prec_rate(c(.3, .4), c(40, 50), method = "wald")
# condition length > 1 warning

presize::prec_rateratio(20, .5, c(3, 4))
presize::prec_rateratio(20, c(.5, .6), c(3, 4))
# ok

presize::prec_riskdiff(.5, .6, 100)
presize::prec_riskdiff(.5, c(.6, .7), 100)
presize::prec_riskdiff(c(.5, .6), c(.6, .7), 100)
presize::prec_riskdiff(c(.5, .6), c(.6, .7), 100, method = "newcombe")
presize::prec_riskdiff(c(.5, .6), c(.6, .7), 100, method = "mn")
presize::prec_riskdiff(c(.5, .6), c(.6, .7), 100, method = "ac")
presize::prec_riskdiff(c(.5, .6), c(.6, .7), 100, method = "wald")
# ok

presize::prec_riskratio(.5, .6, 100)
presize::prec_riskratio(.5, .6, c(100, 200))
presize::prec_riskratio(.5, c(.6, .7), c(100, 200))
presize::prec_riskratio(.5, c(.6, .7), c(100, 200), method = "katz")
# fail

presize::prec_sens(.7, 100)
presize::prec_sens(.7, c(100, 150))
presize::prec_sens(.7, ntot = 100) # needs a stop re ntot + prev
presize::prec_sens(c(.7, .8), c(100, 150))
# ok

presize::prec_spec(.7, n = 100)
presize::prec_spec(.7, ntot = 100, prev = .8)
presize::prec_spec(.7, ntot = 100) # needs a stop re ntot + prev
presize::prec_spec(.7, n = 80, ntot = 100) # correctly gives a warning
presize::prec_spec(c(.7, .6), c(100, 150))
# ok

# TODO...
# [x] prec_auc In if (prev < 0 | prev > 1) stop("'prev' must be numeric in [0, 1]") : Bedingung hat Länge > 1 und nur das erste Element wird benutzt
# [x] prec_kappa vectorize (currently does combinations)
# [x] prec_rate In if (r == 0 & meth == "vs") warning("The confidence interval is degenerate at z^2/(4t), if r is 0.") : Bedingung hat Länge > 1 und nur das erste Element wird benutzt
# [x] prec_sens, prec_spec error if ntot without prev
# [x] prec_riskratio vectorize