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.

Install this package the usual way in R or via:


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 Journal of Statistical Software paper 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

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 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.

In some earlier versions of Yosemite (MacOS 10.10.2 for example) there were issues with the opencpu package. We suspected it had more to do with Yosemite than opencpu or httpuv---see the number of DNS resolver issues people are having with the move to discoveryd via a google search.

Furthermore, even if opencpu came up, which it did sometimes after many tries, you were better off using the ip address in the url in place of localhost due to those DNS problems.

We no longer see this problem in recent versions of Yosemite (10.10.5+).


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.3-1 by Balasubramanian Narasimhan, 5 months ago

Browse source code at

Authors: Balasubramanian Narasimhan [aut, cre] , Marina Bendersky [aut] , Sam Gross [aut] , Terry M. Therneau [ctb] , Thomas Lumley [ctb]

Documentation:   PDF Manual  

LGPL (>= 2) license

Imports utils, shiny, httr, digest, jsonlite, stringr, R6, dplyr, rlang, magrittr, homomorpheR, gmp

Depends on survival, stats

Suggests opencpu, knitr, covr, rmarkdown

See at CRAN