Code Monkey home page Code Monkey logo

evidencesynthesis's Introduction

EvidenceSynthesis

Build Status codecov.io CRAN_Status_Badge CRAN_Status_Badge

EvidenceSynthesis is part of HADES.

Introduction

This R package contains routines for combining causal effect estimates and study diagnostics across multiple data sites in a distributed study. This includes functions for performing meta-analysis and forest plots.

Features

  • Perform a traditional fixed-effects or random-effects meta-analysis, and create a forest plot.
  • Use non-normal approximations of the per-data-site likelihood function to avoid bias when facing small and zero counts.

Example

# Simulate some data for this example:
populations <- simulatePopulations()

# Fit a Cox regression at each data site, and approximate likelihood function:
fitModelInDatabase <- function(population) {
  cyclopsData <- Cyclops::createCyclopsData(Surv(time, y) ~ x + strata(stratumId),
                                            data = population,
                                            modelType = "cox")
  cyclopsFit <- Cyclops::fitCyclopsModel(cyclopsData)
  approximation <- approximateLikelihood(cyclopsFit, parameter = "x", approximation = "custom")
  return(approximation)
}
approximations <- lapply(populations, fitModelInDatabase)
approximations <- do.call("rbind", approximations)

# At study coordinating center, perform meta-analysis using per-site approximations:
estimate <- computeBayesianMetaAnalysis(approximations)
estimate
#          mu     mu95Lb   mu95Ub      muSe       tau     tau95Lb   tau95Ub     logRr   seLogRr
# 1 0.5770562 -0.2451619 1.382396 0.4154986 0.2733942 0.004919128 0.7913512 0.5770562 0.4152011

Technology

This an R package with some parts implemented in Java.

System requirements

Requires R and Java.

Getting Started

  1. Make sure your R environment is properly configured. This means that Java must be installed. See these instructions for how to configure your R environment.

  2. In R, use the following commands to download and install EvidenceSynthesis:

    install.packages("EvidenceSynthesis")

User Documentation

Documentation can be found on the package website.

PDF versions of the documentation are also available:

Support

Contributing

Read here how you can contribute to this package.

License

EvidenceSynthesis is licensed under Apache License 2.0

Development

This package is being developed in RStudio.

Development status

Beta

evidencesynthesis's People

Contributors

fanbu1995 avatar msuchard avatar schuemie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

evidencesynthesis's Issues

Add Hartung-Knapp-Sidik-Jonkman method for conducting random-effects meta-analysis

This has been shown to be less biased than Dersimonian-Laird.

See:
IntHout J, Ioannidis JP, Borm GF. The Hartung-Knapp-Sidik-Jonkman method for random effects meta-analysis is straightforward and considerably outperforms the standard DerSimonian-Laird method. BMC Med Res Methodol. 2014 Feb 18;14:25. doi: 10.1186/1471-2288-14-25.

Drop dependency on meta

As discussed here, the meta package has a lot of downstream dependencies. It is used only once, here, to fit fixed-effect models. It should be easy to implement that with a few lines of code, allowing us to drop the dependency on meta, thus greatly decreasing the install footprint of EvidenceSynthesis (and of HADES in general)

Add function to convert posterior distribution into likelihood profile

The computeBayesianMetaAnalysis() outputs a posterior distribution for the parameter of interest (i.e. effect size estimate). If we convert that to a likelihood profile we can use it for example to estimate a systematic error distribution.. For this, the output should be a data frame with two fields: point and value. We can use the adaptive profiling also implemented in Cyclops to do this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.