Package: distcomp 1.3-4

Balasubramanian Narasimhan

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

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

distcomp_1.3-4.tar.gz
distcomp_1.3-4.zip(r-4.5)distcomp_1.3-4.zip(r-4.4)distcomp_1.3-4.zip(r-4.3)
distcomp_1.3-4.tgz(r-4.4-x86_64)distcomp_1.3-4.tgz(r-4.4-arm64)distcomp_1.3-4.tgz(r-4.3-x86_64)distcomp_1.3-4.tgz(r-4.3-arm64)
distcomp_1.3-4.tar.gz(r-4.5-noble)distcomp_1.3-4.tar.gz(r-4.4-noble)
distcomp_1.3-4.tgz(r-4.4-emscripten)distcomp_1.3-4.tgz(r-4.3-emscripten)
distcomp.pdf |distcomp.html
distcomp/json (API)
NEWS

# Install 'distcomp' in R:
install.packages('distcomp', repos = c('https://bnaras.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/bnaras/distcomp/issues

On CRAN:

38 exports 9 stars 1.54 score 52 dependencies 47 scripts 379 downloads

Last updated 3 months agofrom:6109fe8c86. Checks:OK: 9. Indexed: yes.

TargetResultDate
Doc / VignettesOKAug 30 2024
R-4.5-win-x86_64OKAug 30 2024
R-4.5-linux-x86_64OKAug 30 2024
R-4.4-win-x86_64OKAug 30 2024
R-4.4-mac-x86_64OKAug 30 2024
R-4.4-mac-aarch64OKAug 30 2024
R-4.3-win-x86_64OKAug 30 2024
R-4.3-mac-x86_64OKAug 30 2024
R-4.3-mac-aarch64OKAug 30 2024

Exports:availableComputationsavailableDataSourcesCoxMasterCoxWorkercreateHEWorkerInstancecreateNCPInstancecreateWorkerInstancedefineNewComputationdestroyInstanceObjectdistcompSetupexecuteHEMethodexecuteMethodgenerateIdgetComputationInfogetConfigHEMasterHEQueryCountMasterHEQueryCountWorkermakeDefinitionmakeHEMastermakeMastermakeNCPmakeWorkerNCPQueryCountMasterQueryCountWorkerresetComputationInforunDistcompAppsaveNewComputationsaveNewNCPsetComputationInfosetupMastersetupWorkerSVDMasterSVDWorkeruploadNewComputationuploadNewNCPwriteCode

Dependencies:askpassbase64encbslibcachemclicommonmarkcrayoncurldigestdplyrfansifastmapfontawesomefsgenericsgluegmphomomorpheRhtmltoolshttpuvhttrjquerylibjsonlitelaterlatticelifecyclemagrittrMatrixmemoisemimeopensslpillarpkgconfigpromisesR6rappdirsRcpprlangsassshinysodiumsourcetoolsstringistringrsurvivalsystibbletidyselectutf8vctrswithrxtable

Prototyping Distributed Computations

Rendered fromprototyping.Rmdusingknitr::rmarkdownon Aug 30 2024.

Last update: 2019-10-23
Started: 2018-08-29

Readme and manuals

Help Manual

Help pageTopics
Return the currently available (implemented) computationsavailableComputations
Return currently implemented data sourcesavailableDataSources
Create a master object to control 'CoxWorker' worker objectsCoxMaster
R6 class for object to use as a worker with 'CoxMaster' master objectsCoxWorker
Given the definition identifier of an object, instantiate and store object in workspacecreateHEWorkerInstance
Given the definition identifier of an object, instantiate and store object in workspacecreateNCPInstance
Given the definition identifier of an object, instantiate and store object in workspacecreateWorkerInstance
Define a new computationdefineNewComputation
Destroy an instance object given its identifierdestroyInstanceObject
Distributed Computing with Rdistcomp
Setup a workspace and configuration for a distributed computationdistcompSetup
Given the id of a serialized object, invoke a method on the object with arguments using homomorphic encryptionexecuteHEMethod
Given the id of a serialized object, invoke a method on the object with argumentsexecuteMethod
Generate an identifier for an objectgenerateId
Get the value of a variable from the global storegetComputationInfo
Return the workspace and configuration setup valuesgetConfig
Create a HEMaster process for use in a distributed homomorphic encrypted (HE) computationHEMaster
Create a homomorphic computation query count master object to employ worker objects generated by 'HEQueryCountWorker()'HEQueryCountMaster
Create a homomorphic computation query count worker object for use with master objects generated by 'HEQueryCountMaster()'HEQueryCountWorker
Make a computation definition given the computation typemakeDefinition
Instantiate a master process for HE operationsmakeHEMaster
Make a master object given a definitionmakeMaster
Instantiate an noncooperating partymakeNCP
Make a worker object given a definition and datamakeWorker
R6 object to use as non-cooperating party in a distributed homomorphic computationNCP
Create a master object to control worker objects generated by 'QueryCountWorker()'QueryCountMaster
R6 worker object for use as a worker with master objects generated by 'QueryCountMaster()'QueryCountWorker
Clear the contents of the global storeresetComputationInfo
Run a specified distcomp web applicationrunDistcompApp
Save a computation instance, given the computation definition, associated data and possibly a data file name to usesaveNewComputation
Save an NCP instance, given the sites as associated data and possibly a data file name to usesaveNewNCP
Set a name to a value in a global variablesetComputationInfo
Setup a computation mastersetupMaster
Setup a worker sitesetupWorker
R6 class for SVD master object to control worker objects generated by 'SVDWorker()'SVDMaster
R6 class for a SVD worker object to use with master objects generated by 'SVDMaster()'SVDWorker
Upload a new computation and data to an opencpu serveruploadNewComputation
Upload a new Non-Cooperating Party (NCP) information and sites to an opencpu serveruploadNewNCP
Write the code necessary to run a master processwriteCode