Nothing
## ----setup, include = FALSE---------------------------------------------------
library(EvidenceSynthesis)
## -----------------------------------------------------------------------------
simulationSettings <- createSimulationSettings(
nSites = 10,
n = 10000,
treatedFraction = 0.8,
nStrata = 5,
hazardRatio = 2,
randomEffectSd = 0.5
)
set.seed(1)
populations <- simulatePopulations(simulationSettings)
head(populations[[1]])
table(populations[[1]][, c("x", "y")])
## ----message = FALSE----------------------------------------------------------
library(Cyclops)
population <- populations[[1]]
cyclopsData <- createCyclopsData(Surv(time, y) ~ x + strata(stratumId),
data = population,
modelType = "cox"
)
cyclopsFit <- fitCyclopsModel(cyclopsData)
# Hazard ratio:
exp(coef(cyclopsFit))
# 95% confidence interval:
exp(confint(cyclopsFit, parm = "x")[2:3])
## -----------------------------------------------------------------------------
normalApproximation <- approximateLikelihood(
cyclopsFit = cyclopsFit,
parameter = "x",
approximation = "normal"
)
normalApproximation
plotLikelihoodFit(
approximation = normalApproximation,
cyclopsFit = cyclopsFit,
parameter = "x"
)
## -----------------------------------------------------------------------------
approximation <- approximateLikelihood(
cyclopsFit = cyclopsFit,
parameter = "x",
approximation = "adaptive grid",
bounds = c(log(0.1), log(10))
)
head(approximation)
plotLikelihoodFit(
approximation = approximation,
cyclopsFit = cyclopsFit,
parameter = "x"
)
## -----------------------------------------------------------------------------
fitModelInDatabase <- function(population, approximation) {
cyclopsData <- createCyclopsData(Surv(time, y) ~ x + strata(stratumId),
data = population,
modelType = "cox"
)
cyclopsFit <- fitCyclopsModel(cyclopsData)
approximation <- approximateLikelihood(cyclopsFit,
parameter = "x",
approximation = approximation
)
return(approximation)
}
adaptiveGridApproximations <- lapply(
X = populations,
FUN = fitModelInDatabase,
approximation = "adaptive grid"
)
normalApproximations <- lapply(
X = populations,
FUN = fitModelInDatabase,
approximation = "normal"
)
normalApproximations <- do.call(rbind, (normalApproximations))
## ----message = FALSE,cache = TRUE---------------------------------------------
fixedFxPooled <- computeFixedEffectMetaAnalysis(populations)
fixedFxPooled
## ----message = FALSE----------------------------------------------------------
fixedFxNormal <- computeFixedEffectMetaAnalysis(normalApproximations)
fixedFxNormal
## ----message = FALSE----------------------------------------------------------
fixedFxAdaptiveGrid <- computeFixedEffectMetaAnalysis(adaptiveGridApproximations)
fixedFxAdaptiveGrid
## ----message = FALSE, warning = FALSE, fig.width = 9, fig.height = 5----------
plotMetaAnalysisForest(
data = normalApproximations,
labels = paste("Site", 1:10),
estimate = fixedFxNormal,
xLabel = "Hazard Ratio"
)
## ----message = FALSE, warning = FALSE, fig.width = 9, fig.height = 5----------
plotMetaAnalysisForest(
data = adaptiveGridApproximations,
labels = paste("Site", 1:10),
estimate = fixedFxAdaptiveGrid,
xLabel = "Hazard Ratio"
)
## ----cache = TRUE, message = FALSE,cache=TRUE---------------------------------
randomFxPooled <- computeBayesianMetaAnalysis(populations)
exp(randomFxPooled[, 1:3])
## ----message = FALSE----------------------------------------------------------
randomFxNormal <- computeBayesianMetaAnalysis(normalApproximations)
exp(randomFxNormal[, 1:3])
## ----message = FALSE----------------------------------------------------------
randomFxAdaptiveGrid <- computeBayesianMetaAnalysis(adaptiveGridApproximations)
exp(randomFxAdaptiveGrid[, 1:3])
## ----message = FALSE, warning = FALSE, fig.width = 8, fig.height = 5----------
plotMetaAnalysisForest(
data = normalApproximations,
labels = paste("Site", 1:10),
estimate = randomFxNormal,
xLabel = "Hazard Ratio"
)
## ----message = FALSE, warning = FALSE, fig.width = 8, fig.height = 5----------
plotMetaAnalysisForest(
data = adaptiveGridApproximations,
labels = paste("Site", 1:10),
estimate = randomFxAdaptiveGrid,
xLabel = "Hazard Ratio"
)
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.