MyNixOS website logo
Description

Computations over Distributed Data without Aggregation.

Implementing algorithms and fitting models when sites (possibly remote) share computation summaries rather than actual data over HTTP with a master R process (using 'opencpu', for example). A stratified Cox model and a singular value decomposition are provided. The former makes direct use of code from the R 'survival' package. (That is, the underlying Cox model code is derived from that in the R 'survival' package.) Sites may provide data via several means: CSV files, Redcap API, etc. An extensible design allows for new methods to be added in the future and includes facilities for local prototyping and testing. Web applications are provided (via 'shiny') for the implemented methods to help in designing and deploying the computations.

distcomp

R-CMD-check CRAN_Status_Badge

This package is described in detail in the paper Software for Distributed Computation on Medical Databases: A Demonstration Project.

Installation

Install this package the usual way in R or via:

library(devtools)
install_github("bnaras/distcomp")

Then, you will find a document that describes several examples installed under the R library tree. For example:

list.files(system.file("doc", package = "distcomp")) 
list.files(system.file("doc_src", package = "distcomp"))

The examples described in the reference below are available as follows:

list.files(system.file("ex", package = "distcomp"))

Use of this package requires some configuration. In particular, to run the examples on a local machine where a single opencpu server will be emulating several sites, a suitable R profile needs to be set up. That profile will be something along the lines of

library(distcomp) 
distcompSetup(workspace = "full_path_to_workspace_directory",
              ssl_verifyhost = 0L, ssl_verifypeer = 0L)

where the workspace is a directory that the opencpu server can serialize objects to. On Unix or Mac, the above can be inserted into an .Rprofile file, but on Windows, we find that the Rprofile.site file needs to contain the above lines.

The effect of this is that every R process (including the opencpu process) has access to the distcomp library and the workspace.

Prototyping New Computations

Refer to the vignette in the package for some tips on developing new distributed computations.

References

Balasubramanian Narasimhan and Daniel Rubin and Samuel Gross and Marina Bendersky and Philip Lavori. Software for Distributed Computation on Medical Databases: A Demonstration Project. Journal of Statistical Software, Volume 77, Issue 13, (2017). DOI.

Metadata

Version

1.3-3

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows