Skip to content

codejie/js-call-r

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

js-call-r

JavaScript call R function with a simple way.

Integrate JaveScript and R.
JavaScript passes JSON to R script, and get JSON from R script by js-call-r module.

Install

npm install --save js-call-r 

Usage

const rscript = require('js-call-r'); // Sync rscript.callSync(RScript, [Args], [Options]); // Async, support Promise while callback is undefined rscript.call(RScript, [Args], [Options]); rscript.call(Rscript, [Args], [Options], [callback]);

Synchronous

const result = call.callSync('./test/test.R', { a: 1, b: 3 }); console.log(result.result);

Asynchronous

call.call('./test/test.R', { a: 1, b: 3 }) .then((result) => { console.log(result.result); }) .catch(err => { console.log('err = ', err); });

Or

call.call('./test/test.R', { a: 1, b: 3 }, undefined, (result) => { console.log(result.result); });

Options

{ "verboseResult": true/[false] }

false is default.

Result

If verboseResult of Options is true, call() or callSync() will return the following object.

{ "pid": <number>, "result": <return from R script> }

If it is false, the result will only include <return from R script> part.

While any error occurs, the result will be the following object.

{ "pid": <number>, "error": <error message> }

R script template

Transcate JSON data between JavaScript and R, so input and output for R scripts have to convert to JSON format.

# json library library('rjson') # function to call sumFunc <- function (num1, num2){ sum(num1, num2) } # get arguments of cli args <- commandArgs(trailingOnly = TRUE) # arguments to JSON json <- fromJSON(args) # call function ret <- sumFunc(as.numeric(json$a),as.numeric(json$b)) # convert return of function to list output <- list(result = ret) # output JSON print(toJSON(output));

Example

npm test 

License

No License

About

Javascript call R function with a simple way.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors