Nothing
## ----include=FALSE------------------------------------------------------------
library(Spower)
set.seed(42)
formals(SpowerCurve)$plotly <- FALSE
## ----include=FALSE------------------------------------------------------------
eval <- FALSE # set to FALSE for normal run
store <- list()
if(!eval)
store <- readRDS(system.file("intro2.rds", package = 'Spower'))
## ----include=eval-------------------------------------------------------------
getwd()
## ----eval=eval----------------------------------------------------------------
# p_single.Bayes.t <- function(n, mean, mu){
# g <- rnorm(n, mean=mean)
# res <- BayesFactor::ttestBF(g, mu=mu)
# bf <- exp(as.numeric(res@bayesFactor[1])) # Bayes factor
# posterior <- bf / (bf + 1) # assuming hypotheses are equally likely
# posterior # P(H_1|D)
# }
## ----eval=eval----------------------------------------------------------------
# # power cut-off for a significantly supportive posterior is > 0.90
# p_single.Bayes.t(n=100, mean=.5, mu=.3) |>
# Spower(sig.level = .90, sig.direction = 'above')
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$prospectiveBayes <- getLastSpower()
prospectiveBayes <- store$prospectiveBayes
print(prospectiveBayes)
## -----------------------------------------------------------------------------
p_single.t <- function(n, mean, mu=0){
g <- rnorm(n, mean=mean)
p <- t.test(g, mu=mu)$p.value
p
}
## -----------------------------------------------------------------------------
l_single.t <- function(n, mean, mu=0, conf.level=.95){
g <- rnorm(n, mean=mean)
out <- t.test(g, mu=mu, conf.level=conf.level)
CI <- out$conf.int
is.outside_CI(mu, CI) # equivalent to: !(CI[1] < mu && mu < CI[2])
}
l_single.t(100, mean=.2)
## ----eval=eval----------------------------------------------------------------
# p_single.t(n=100, mean=.3) |> Spower()
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$pPower <- getLastSpower()
pPower <- store$pPower
print(pPower)
## ----eval=eval----------------------------------------------------------------
# l_single.t(n=100, mean=.3) |> Spower()
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$lPower <- getLastSpower()
lPower <- store$lPower
print(lPower)
## -----------------------------------------------------------------------------
l_precision <- function(n, mean, CI.width, mu=0, alpha=.05){
g <- rnorm(n, mean=mean)
out <- t.test(g, mu=mu)
CI <- out$conf.int
width <- CI[2] - CI[1]
out$p.value < alpha && width < CI.width
}
## ----eval=eval----------------------------------------------------------------
# l_precision(n=NA, mean=.2, CI.width=1/4) |>
# Spower(power=.80, interval=c(10, 500))
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$lprecision <- getLastSpower()
lprecision <- store$lprecision
print(lprecision)
## ----eval=eval----------------------------------------------------------------
# l_precision(n=NA, mean=.2, CI.width=Inf) |>
# Spower(power=.80, interval=c(10, 500))
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$lprecision2 <- getLastSpower()
lprecision2 <- store$lprecision2
print(lprecision2)
## ----eval=eval----------------------------------------------------------------
# l_single.Bayes.t_BF <- function(n, mean, mu=0, bf.cut=3){
# g <- rnorm(n, mean=mean)
# res <- BayesFactor::ttestBF(g, mu=mu)
# bf <- exp(as.numeric(res@bayesFactor[1])) # Bayes factor
# bf > bf.cut
# }
## ----eval=eval----------------------------------------------------------------
# l_single.Bayes.t_BF(n=100, mean=.5, mu=.3) |> Spower()
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$prospectiveBF3 <- getLastSpower()
prospectiveBF3 <- store$prospectiveBF3
print(prospectiveBF3)
## -----------------------------------------------------------------------------
l_equiv.t <- function(n, delta, equiv, sds = c(1,1),
sig.level = .025){
g1 <- rnorm(n, mean=0, sd=sds[1])
g2 <- rnorm(n, mean=delta, sd=sds[2])
outL <- t.test(g2, g1, mu=-equiv[1], alternative = "less")$p.value
outU <- t.test(g2, g1, mu=equiv[2], alternative = "less")$p.value
outL < sig.level && outU < sig.level
}
## ----eval=eval----------------------------------------------------------------
# l_equiv.t(100, delta=1, equiv=c(-2.5, 2.5),
# sds=c(2.5, 2.5)) |> Spower()
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$equivT <- getLastSpower()
equivT <- store$equivT
print(equivT)
## ----eval=FALSE---------------------------------------------------------------
# TOSTER::power_t_TOST(n = 100,
# delta = 1,
# sd = 2.5,
# eqb = 2.5,
# alpha = .025,
# power = NULL,
# type = "two.sample")
## -----------------------------------------------------------------------------
l_equiv.t_CI <- function(n, delta, equiv,
sds=c(1,1), conf.level = .95){
g1 <- rnorm(n, mean=0, sd=sds[1])
g2 <- rnorm(n, mean=delta, sd=sds[2])
CI <- t.test(g2, g1, conf.level=conf.level)$conf.int
is.CI_within(CI, interval=equiv) # returns TRUE if CI is within equiv interval
}
## ----eval=eval----------------------------------------------------------------
# # an equivalent power analysis for "equivalence tests" via CI evaluations
# l_equiv.t_CI(100, delta=1, equiv=c(-2.5, 2.5),
# sds=c(2.5, 2.5)) |> Spower()
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$equivTL <- getLastSpower()
equivTL <- store$equivTL
print(equivTL)
## ----eval=eval----------------------------------------------------------------
# library(bayestestR)
# library(rstanarm)
#
# p_rope.lm <- function(n, beta0, beta1, range, sigma=1, ...){
# # generate data
# x <- matrix(rep(0:1, each=n))
# y <- beta0 + beta1 * x + rnorm(nrow(x), sd=sigma)
# dat <- data.frame(y, x)
#
# # run model, but tell stan_glm() to use its indoor voice
# model <- quiet(rstanarm::stan_glm(y ~ x, data = dat))
# rope <- bayestestR::rope(model, ci=1, range=range, parameters="x")
# as.numeric(rope)
# }
## ----eval=eval----------------------------------------------------------------
# p_rope.lm(n=50, beta0=2, beta1=1, sigma=1/2, range=c(.8, 1.2)) |>
# Spower(sig.level=.95, sig.direction='above', parallel=TRUE)
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$ROPE.lm <- getLastSpower()
ROPE.lm <- store$ROPE.lm
print(ROPE.lm)
## ----eval=eval----------------------------------------------------------------
# p_rope.lm(n=NA, beta0=2, beta1=1, sigma=1/2, range=c(.8, 1.2)) |>
# Spower(power=.80, sig.level=.95, sig.direction='above',
# interval=c(50, 200), parallel=TRUE)
## ----echo=FALSE---------------------------------------------------------------
if(eval) store$ROPE.lm_n <- getLastSpower()
ROPE.lm_n <- store$ROPE.lm_n
print(ROPE.lm_n)
## ----include=FALSE, eval=eval-------------------------------------------------
# saveRDS(store, '../inst/intro2.rds') # rebuild package when done
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.