Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
options(rmarkdown.html_vignette.check_title = FALSE)
## ----setup--------------------------------------------------------------------
library(RTSA)
## -----------------------------------------------------------------------------
ris(outcome = "RR", mc = 0.9, pC = 0.1, alpha = 0.05, beta = 0.1, side = 2)
## -----------------------------------------------------------------------------
ris(outcome = "RR", mc = 0.9, pC = 0.2, fixed = FALSE, I2 = 0.2, D2 = 0.3,
side = 2, alpha = 0.05, beta = 0.2)
## ---- eval = FALSE, include=FALSE---------------------------------------------
# # simulate 10 trials
# tau2 = 0.05
# outl = matrix(NA, ncol = 3, nrow = 10)
# outm = matrix(NA, ncol = 4, nrow = 10)
#
# RR <- 0.9
# pC <- 0.1
# pI <- round(exp(log(pC) + log(RR) / 2), 4)
# pC <- round(exp(log(pC) - log(RR) / 2), 4)
# theta = round(pC - pI, 4)
# n = 2500
# K = 10
# nsim = 1000
#
# for(m in 1:10) {
# outpvalue = matrix(NA, ncol = 3, nrow = nsim)
# outhetero = matrix(NA, ncol = 5, nrow = nsim)
#
# for (h in 1:nsim) {
# ln_RR = rnorm(K, mean = log(RR), sd = sqrt(tau2))
#
# pI = exp(log(pC) + ln_RR)
# pI[pI < 0.01] = 0.01
# pI[pI > 0.99] = 0.99
# pC = rep(exp(log(pC)),K)
# pC[pC < 0.01] = 0.01
# pC[pC > 0.99] = 0.99
# outmat = matrix(NA, ncol = 4, nrow = K)
# zvalues = NULL
# for (i in 1:K) {
# eA <- apply(cbind(n / 2, pI[i]), 1,
# function(x)
# rbinom(1, size = x[1], prob = x[2]))
# eB <- apply(cbind(n / 2, pC[i]), 1,
# function(x)
# rbinom(1, size = x[1], prob = x[2]))
# outmat[i, 1:4] = c(eA, n / 2, eB, n / 2)
# }
#
# dat <- data.frame(eI = outmat[, 1],
# nI = outmat[, 2],
# eC = outmat[, 3],
# nC = outmat[, 2])
#
# synout = RTSA:::metaPrepare(
# outcome = "RR", data = dat,
# weights = "MH", alpha = 0.05
# )
# out1 = RTSA:::synthesize(synout, tau_ci_method = "BJ",
# re_method = "DL")
#
# ma <- metaanalysis(outcome = "RR", data = dat, mc = 0.9)
#
# # save the tau^2, I^2 and D^2
# hetero = c(out1$U[c(1, 3, 4)])
# #RISd2 = 1 / (1 - hetero[3]) * ma$ris$full_NF
# #outhetero[h,] = c(hetero, ma$ris$NR_inc_full, ma$ris$NR_div_full)
# dRISd2 <- ma$ris$NR_div
# if(is.null(dRISd2)){
# dRISd2 <- ma$ris$NF
# }
#
# ln_RR = rnorm(m, mean = log(RR), sd = sqrt(tau2))
# pI = exp(log(pC) + ln_RR)
# pI[pI < 0.01] = 0.01
# pI[pI > 0.99] = 0.99
# pC = rep(exp(log(pC)),m)
# pC[pC < 0.01] = 0.01
# pC[pC > 0.99] = 0.99
#
# for (b in 1:m) {
# eA <- apply(cbind(ceiling(dRISd2 / 2 / m), pI[b]), 1,
# function(x)
# rbinom(1, size = x[1], prob = x[2]))
# eB <- apply(cbind(ceiling(dRISd2 / 2 / m), pC[b]), 1,
# function(x)
# rbinom(1, size = x[1], prob = x[2]))
# outmat = rbind(outmat, c(eA, dRISd2 / 2 / m, eB, dRISd2 / 2 / m))
# }
#
# dat <- data.frame(eI = outmat[, 1],
# nI = outmat[, 2],
# eC = outmat[, 3],
# nC = outmat[, 2])
#
# synout = RTSA:::metaPrepare(
# outcome = "RR",
# weights = "MH", data = dat, alpha = 0.05
# )
#
# out1 = RTSA:::synthesize(synout, re_method = "DL", tau_ci_method = "BJ")
# out2 = RTSA:::synthesize(synout, re_method = "DL_HKSJ", tau_ci_method = "BJ")
#
# if(is.null(out1$peR[5])) out1$peR[5] <- out1$peF[5]
# if(is.null(out2$peR[5])) out2$peR[5] <- out1$peF[5]
#
# outpvalue[h, c(1, 2, 3)] = c(round(out1$peF[5], 4), round(out1$peR[5], 4), out2$peR[5])
# }
# outm[m,] = c(
# sum(outpvalue[, 1] < 0.05) / nsim,
# sum(outpvalue[, 2] < 0.05) / nsim,
# sum(outpvalue[, 3] < 0.05) / nsim,
# mean(dRISd2)
# )
# }
#
# outm = cbind(1:10, outm)
# colnames(outm) = c(
# "Number of extra trials",
# "Fixed-effect",
# "Random-effects DL",
# "Random-effects HKSJ",
# "Avg. RIS"
# )
# rownames(outm) = rep(c(""), 10)
# save(outm, file = "random-effects-TSA.Rda")
## ----randomTSA, echo = FALSE--------------------------------------------------
load("random-effects-TSA.Rda")
knitr::kable(outm[,-5], caption = "Power per model as a function of number of extra trials and RIS based on Diversity")
## -----------------------------------------------------------------------------
ris(outcome = "RR", mc = 0.9, fixed = FALSE, tau2 = 0.05, pC = 0.1,
side = 2, alpha = 0.05, beta = 0.2)
## ---- eval = FALSE, echo = FALSE----------------------------------------------
# outl = matrix(NA, ncol = 3, nrow = 4)
#
# RR <- 0.9
# pC <- 0.1
# pI <- round(exp(log(pC)+log(RR)/2),4)
# pC <- round(exp(log(pC)-log(RR)/2),4)
# theta = round(pC - pI,4)
# nsim = 10000
# tau2 = 0.05
#
# trial.out = minTrial(outcome = "RR", mc = 0.9, tau2 = 0.05, pC = 0.1)
#
# outtau = numeric(nsim)
# outpvalue = matrix(NA, ncol = 3, nrow = nsim)
#
# for(l in 1:dim(trial.out$nPax)[2]){
# K = trial.out$nPax[1,l]
# n = trial.out$nPax[2,l]
#
# for(h in 1:nsim){
# outmat = matrix(NA,ncol = 4, nrow = K)
#
# ln_RR = rnorm(K, mean = log(RR), sd = sqrt(tau2))
# pI = exp(log(pC)+ln_RR/2)
# pI[pI < 0.01] = 0.01
# pI[pI > 0.99] = 0.99
# pC = exp(log(pC)-ln_RR/2)
# pC[pC < 0.01] = 0.01
# pC[pC > 0.99] = 0.99
# for(i in 1:(K)){
# eA <- apply(cbind(ceiling(n/2), pI[i]), 1,
# function(x) rbinom(1, size = x[1], prob = x[2]))
# eB <- apply(cbind(ceiling(n/2), pC[i]), 1,
# function(x) rbinom(1, size = x[1], prob = x[2]))
# outmat[i,1:4] = c(eA, ceiling(n/2), eB, ceiling(n/2))
# }
#
# dat <- data.frame(eI = outmat[,1], nI = outmat[,2],
# eC = outmat[,3], nC = outmat[,2])
#
# synout = RTSA:::metaPrepare(outcome = "RR", data = dat,
# weights = "IV", alpha = 0.05)
# out1 = RTSA:::synthesize(synout, re_method = "DL", tau_ci_method = "BJ")
# out2 = RTSA:::synthesize(synout, re_method = "DL_HKSJ", tau_ci_method = "BJ")
# outpvalue[h, c(1,2,3)] = c(round(out1$peF[5],4), round(out1$peR[5],4), out2$peR[5])
# }
# outl[l,1] = sum(outpvalue[,1] <= 0.05)/nsim
# outl[l,2] = sum(outpvalue[,2] <= 0.05)/nsim
# outl[l,3] = sum(outpvalue[,3] <= 0.05)/nsim
# }
#
# outl = cbind(outl, trial.out$nPax[1,], trial.out$nPax[2,])
# colnames(outl) = c("Fixed-effect", "Random-effects DL", "Random-effects HKSJ",
# "Number of trials", "Participants per trial")
# rownames(outl) = c("","","","")
# save(outl, file = "random-effects.Rda")
## ----random, echo = FALSE-----------------------------------------------------
load("random-effects.Rda")
knitr::kable(outl[,c(4,5,1,2,3)], caption = "Power per model as a function of number of trials and number of participants per trial")
## -----------------------------------------------------------------------------
ma <- metaanalysis(data = perioOxy, outcome = "RR", mc = 0.8, beta = 0.1,
pC = 0.15)
ma$ris
## -----------------------------------------------------------------------------
ma$ris$NR_tau$NR_tau_ll
## -----------------------------------------------------------------------------
ma$ris$NR_tau$NR_tau_ul
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.