Nothing
## -----------------------------------------------------------------------------
library(bridgesampling)
set.seed(12345)
# Sleep data from t.test example
data(sleep)
# compute difference scores
y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1]
n <- length(y)
## ---- eval=FALSE--------------------------------------------------------------
# library(rstan)
#
# # models
# stancodeH0 <- '
# data {
# int<lower=1> n; // number of observations
# vector[n] y; // observations
# }
# parameters {
# real<lower=0> sigma2; // variance parameter
# }
# model {
# target += log(1/sigma2); // Jeffreys prior on sigma2
# target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood
# }
# '
# stancodeH1 <- '
# data {
# int<lower=1> n; // number of observations
# vector[n] y; // observations
# real<lower=0> r; // Cauchy prior scale
# }
# parameters {
# real delta;
# real<lower=0> sigma2;// variance parameter
# }
# model {
# target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta
# target += log(1/sigma2); // Jeffreys prior on sigma2
# target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood
# }
# '
# # compile models
# stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel")
# stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel")
## ---- eval=FALSE--------------------------------------------------------------
# # fit models
# stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n),
# iter = 20000, warmup = 1000, chains = 4, cores = 1,
# control = list(adapt_delta = .99))
# stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)),
# iter = 20000, warmup = 1000, chains = 4, cores = 1,
# control = list(adapt_delta = .99))
## ---- echo=FALSE--------------------------------------------------------------
load(system.file("extdata/", "vignette_stan_ttest.RData",
package = "bridgesampling"))
## ---- eval=FALSE--------------------------------------------------------------
# H0 <- bridge_sampler(stanfitH0, silent = TRUE)
# H1 <- bridge_sampler(stanfitH1, silent = TRUE)
## -----------------------------------------------------------------------------
print(H0)
print(H1)
## ----eval=FALSE---------------------------------------------------------------
# # compute percentage errors
# H0.error <- error_measures(H0)$percentage
# H1.error <- error_measures(H1)$percentage
## -----------------------------------------------------------------------------
print(H0.error)
print(H1.error)
## -----------------------------------------------------------------------------
# compute Bayes factor
BF10 <- bf(H1, H0)
print(BF10)
## ---- eval=FALSE--------------------------------------------------------------
# library(BayesFactor)
# BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE)
## ---- message=FALSE-----------------------------------------------------------
print(BF10.BayesFactor)
## ---- eval=FALSE--------------------------------------------------------------
# stancodeHplus <- '
# data {
# int<lower=1> n; // number of observations
# vector[n] y; // observations
# real<lower=0> r; // Cauchy prior scale
# }
# parameters {
# real<lower=0> delta; // constrained to be positive
# real<lower=0> sigma2;// variance parameter
# }
# model {
# target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta
# target += log(1/sigma2); // Jeffreys prior on sigma2
# target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood
# }
# '
# # compile and fit model
# stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel")
# stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)),
# iter = 30000, warmup = 1000, chains = 4,
# control = list(adapt_delta = .99))
## ----eval=FALSE---------------------------------------------------------------
# Hplus <- bridge_sampler(stanfitHplus, silent = TRUE)
## -----------------------------------------------------------------------------
print(Hplus)
## ----eval=FALSE---------------------------------------------------------------
# Hplus.error <- error_measures(Hplus)$percentage
## -----------------------------------------------------------------------------
print(Hplus.error)
## -----------------------------------------------------------------------------
# compute Bayes factor
BFplus0 <- bf(Hplus, H0)
print(BFplus0)
## ---- eval=FALSE--------------------------------------------------------------
# BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE)[1]
## -----------------------------------------------------------------------------
print(BFplus0.BayesFactor)
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.