curious_cat
curious_cat

Reputation: 837

Getting R to interact with an external application

I have an R script that used to be used on standalone CSV files but now needs to accept similar inputs from another, existing application. What are the typical options to call R from an external application written in Python and to pass data to it?

As a toy example, you could imagine a web application written in Python that needs to send R a dataset and then the R script calculates summary stats and sends back to the application. The size of the input dataset is small. Think of it as one row from a database with approx. 20 fields. The fields are a mix of text and numbers. The number of fields is fixed in this call. In the earlier flow these fields were members of a CSV file line.

Example:

New York, 23456,,25.5, 23/04/2015,, 0, 0, Yes, Yes, Absent

The return from R is something like:

0.87, Demographics, NA, History, NA

PS. I don't mean something like Shiny-R which provides both the front end and back end. Here the external application is pre-existing but just needs a way to call R with its data and get a result back.

Upvotes: 0

Views: 226

Answers (2)

Christian Borck
Christian Borck

Reputation: 1862

Have a deeper look at : Rserve

Upvotes: 1

branch.lizard
branch.lizard

Reputation: 595

I would suggest the rpy2 package from Python to allow the usage of R-Commands and Functions in a python script rather than send and receiving data back and forth to R.

rpy2 main website

Here is a nice tutorial on rpy2.

Upvotes: 2

Related Questions