[datatable-help] Using data.table code in an interactive desktop application written in C# or Java

Melanie Bacou mel at mbacou.com
Sun Apr 16 02:11:26 CEST 2017


Don,
In addition to Santosh's suggestion below, you could also read about 
these 2:

- Rserve, a TCP/IP server that's often used to connect applications to 
local R processes (e.g. Tableau uses Rserve). I've had good results with 
Rserve in the past in a use-case similar to yours. I would just open a 
socket to a running Rserve session preloaded with my custom R packages 
and return only slices of data back to a web GUI.

- rJava (an R interface for Java) used for example in the StatET 
Java-based IDE for R

Both options would allow you to keep your core data and business logic 
in your current R package.

--Mel.

On 04/15/2017 12:28 AM, Santosh Srinivas wrote:
> Hi Don,
>
> I'm not sure if this will meet your performance expectations from the GUI.
>
> But, I am creating my GUI using HTML 5 stuff on Electron 
> (https://github.com/electron/electron) which fires off calls to my 
>  OpenCPU (https://www.opencpu.org/) service that does most of backend 
> R related work.
>
> I'm guessing that you could run Java applets using a similar setup.
>
> Thank you.
> Santosh
>
>
> On Sat, Apr 15, 2017 at 8:49 AM, Don Brady <dbrady at pobox.com 
> <mailto:dbrady at pobox.com>> wrote:
>
>     I have written a largish R data.table application for back-testing
>     option trading strategies.   It involves large quantities of
>     option price data, all of which is stored in data.tables. As an R
>     application, it works fast and well, thanks to the strengths of
>     data.table.  There are about 10,000 lines of R code, almost all of
>     which are calling data.table functions.
>
>     However, I want to take some of the code and create a snappy
>     desktop GUI application for quick interactive option portfolio and
>     trade evaluation.  Ordinarily I would do this in Java or C#. 
>     However, since the prior code is all written using data.table
>     calls, it would be ideal if I could continue to use.table.
>
>     I tried Shiny and I  got a shiny app. written and working, that
>     includes lots of use of data.table and my existing tables. 
>     However, it is too slow.  I need lightning fast for the GUI which
>     is to be exploratory.
>
>     So, after this background, my question is, is there any way to
>     call data.table from a C# or Java desktop GUI app. without
>     involving R?  Assuming the answer is No, what would be another
>     in-memory database implementation that can be called from C# or
>     Java, that would be similar enough to data.table that I would be
>     able to migrate over my data.table code over.   It is obviously no
>     problem to convert over the data, since that is just columns.  But
>     my concern is to minimize the effort in converting over the code,
>     which is now, of course, full of data-table joins, merges,
>     selects, renames, updates etc., all currently written in
>     data.table's very unique syntax (currently coded in R function
>     calls).  Is there some in-memory database package that would
>     support a similar syntax to facilitate converting the code from
>     data.table?
>
>     Thank you very much, I should add, for the wonderful data.table
>     package!  I certainly will not abandon it.  I am just looking for
>     something somewhat compatible with its style, for a limited
>     special purpose.
>
>     Don
>
>
>
>     _______________________________________________
>     datatable-help mailing list
>     datatable-help at lists.r-forge.r-project.org
>     <mailto:datatable-help at lists.r-forge.r-project.org>
>     https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>     <https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help>
>
>
>
>
> _______________________________________________
> datatable-help mailing list
> datatable-help at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help



More information about the datatable-help mailing list