Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Carlos Paradis
Hi,

I currently have a large package in Octave that has some sizeable functionality which depends on R packages. As it is, my octave package interfaces the R packages via Octave's unix function call (in essence, the R package dumps a single final analysis .csv, which is then loaded in Octave).

However, this is not very flexible: Much functionality of the R package is left out via functions, for example, which could be used in Octave. 

1) Trying to find a better way to go about it, I stumbled upon DSC 2003, 10 Years of Octave - Recent Developments and Plans for the Future. Section 2.2.4 discusses some limitations 17 years ago, but I wonder if they still persist (or worsened): https://www.r-project.org/conferences/DSC-2003/Proceedings/EatonRawlings.pdf

ROctave: http://www.omegahat.net/ROctave/ (last updated 18 years ago).

2) I'd also be interested in knowing if there are any other alternatives to just using unix. Oct-files appeared a possibility using Cpp to import R, and then Octave to Import Cpp, but if I understand it right, it would require individually coding each R package function now and in the long run. 

Thank you,

cp





Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Nicklas Karlsson
> Hi,
>
> I currently have a large package in Octave that has some sizeable
> functionality which depends on R packages. As it is, my octave package
> interfaces the R packages via Octave's *unix *function call (in essence,
> the R package dumps a single final analysis .csv, which is then loaded in
> Octave).
>
> However, this is not very flexible: Much functionality of the R package is
> left out via functions, for example, which could be used in Octave.
>
> 1) Trying to find a better way to go about it, I stumbled upon DSC 2003, *10
> Years of Octave - Recent Developments and Plans for the Future. *Section
> 2.2.4 discusses some limitations 17 years ago, but I wonder if they still
> persist (or worsened):
> https://www.r-project.org/conferences/DSC-2003/Proceedings/EatonRawlings.pdf

Encountered Matlab at University first time about 19 years ago, Octave is similar and think the basics have stayed the same. Get the impression development have slowed down and remember name of mathematicians lived hundred years ago, Leibniech, Newton, Jerome Cardan, Karl Pearsson, et. al. mostly dead.

> ROctave: http://www.omegahat.net/ROctave/ (last updated 18 years ago).
>
> 2) I'd also be interested in knowing if there are any other alternatives to
> just using *unix*. Oct-files appeared a possibility using Cpp to import R,
> and then Octave to Import Cpp, but if I understand it right, it would
> require individually coding each R package function now and in the long
> run.

As I understand R is written in C/C++ and by adding a wrapper it could be compiled to an .oct file which could be called from Octave just as any other function. This is probably a rather good solution.


Nicklas SB Karlsson


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Carlos Paradis
Hi Nicklas, 

Thank you for the follow-up. 

Encountered Matlab at University first time about 19 years ago, Octave is similar and think the basics have stayed the same. Get the impression development have slowed down and remember name of mathematicians lived hundred years ago, Leibniech, Newton, Jerome Cardan, Karl Pearsson, et. al. mostly dead.

I am not sure if I understand your point concerning the mathematicians. To be clear, I am trying to understand how hard would be to resurrect a project like ROctave and what background would be required. For example, do the difficulties still persist mentioned in DSC 2003? Were there any proposed solutions? I found very little discussion while searching on the subject, and was surprised considering the purpose of R and Octave overlap. 

Concerning the oct-files, my current understanding is that to follow that approach I would need to create an oct file for every function of interest on every R package I use on my Octave project. This does not seem doable, and an external language interface like ROctave to simply call functions directly from R would seem simpler to maintain at first glance. 

Regards,

cp

On Sun, May 17, 2020 at 12:58 AM Nicklas Karlsson <[hidden email]> wrote:
> Hi,
>
> I currently have a large package in Octave that has some sizeable
> functionality which depends on R packages. As it is, my octave package
> interfaces the R packages via Octave's *unix *function call (in essence,
> the R package dumps a single final analysis .csv, which is then loaded in
> Octave).
>
> However, this is not very flexible: Much functionality of the R package is
> left out via functions, for example, which could be used in Octave.
>
> 1) Trying to find a better way to go about it, I stumbled upon DSC 2003, *10
> Years of Octave - Recent Developments and Plans for the Future. *Section
> 2.2.4 discusses some limitations 17 years ago, but I wonder if they still
> persist (or worsened):
> https://www.r-project.org/conferences/DSC-2003/Proceedings/EatonRawlings.pdf

Encountered Matlab at University first time about 19 years ago, Octave is similar and think the basics have stayed the same. Get the impression development have slowed down and remember name of mathematicians lived hundred years ago, Leibniech, Newton, Jerome Cardan, Karl Pearsson, et. al. mostly dead.

> ROctave: http://www.omegahat.net/ROctave/ (last updated 18 years ago).
>
> 2) I'd also be interested in knowing if there are any other alternatives to
> just using *unix*. Oct-files appeared a possibility using Cpp to import R,
> and then Octave to Import Cpp, but if I understand it right, it would
> require individually coding each R package function now and in the long
> run.

As I understand R is written in C/C++ and by adding a wrapper it could be compiled to an .oct file which could be called from Octave just as any other function. This is probably a rather good solution.


Nicklas SB Karlsson


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

jbect
Le 19/05/2020 à 15:24, Carlos Paradis a écrit :
Hi Nicklas, 

Thank you for the follow-up. 

Encountered Matlab at University first time about 19 years ago, Octave is similar and think the basics have stayed the same. Get the impression development have slowed down and remember name of mathematicians lived hundred years ago, Leibniech, Newton, Jerome Cardan, Karl Pearsson, et. al. mostly dead.

I am not sure if I understand your point concerning the mathematicians. To be clear, I am trying to understand how hard would be to resurrect a project like ROctave and what background would be required. For example, do the difficulties still persist mentioned in DSC 2003? Were there any proposed solutions? I found very little discussion while searching on the subject, and was surprised considering the purpose of R and Octave overlap. 

Concerning the oct-files, my current understanding is that to follow that approach I would need to create an oct file for every function of interest on every R package I use on my Octave project. This does not seem doable, and an external language interface like ROctave to simply call functions directly from R would seem simpler to maintain at first glance.


Perhaps the pythonic package [1] is an interesting example of what can be done?

@++
Julien

[1] https://gitlab.com/mtmiller/octave-pythonic



Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Carlos Paradis
Thank you Julien! I was completely unaware this even existed. I originally searched for similar packages on the forge, and I didn't see Pythonic: https://octave.sourceforge.io/packages.php 

I only knew of the java package mentioned there. 

Is there another list of other packages for Octave I may be unaware of? This is a very good example of checking the possibilities for me since I am familiar with Python. Much appreciated.

cp



Perhaps the pythonic package [1] is an interesting example of what can be done?

@++
Julien

[1] https://gitlab.com/mtmiller/octave-pythonic





Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Nir Krakauer-3
The Octave wiki has a list of packages available outside of Octave Forge:
https://wiki.octave.org/Packages

If you find other useful packages, feel free to update this listing.


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Carlos Paradis
Thank you, Nir! It didn't occur to me to check the wiki as well. Curiously enough, I don't see the pythonic package there. I will create an account and add it later following your suggestion. 

cp

On Tue, May 19, 2020 at 4:21 AM Nir Krakauer <[hidden email]> wrote:
The Octave wiki has a list of packages available outside of Octave Forge:
https://wiki.octave.org/Packages

If you find other useful packages, feel free to update this listing.


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

apjanke-floss
In reply to this post by Nir Krakauer-3


On 5/19/20 10:21 AM, Nir Krakauer wrote:
> The Octave wiki has a list of packages available outside of Octave Forge:
> https://wiki.octave.org/Packages
>
> If you find other useful packages, feel free to update this listing.


Would y'all mind if I added my own Tablicious[1] and Packajoozle[2]
packages to this list? It would be nice to have the exposure

Cheers,
Andrew

[1] https://github.com/apjanke/octave-tablicious
[2] https://github.com/apjanke/octave-packajoozle


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Colin Macdonald-2
In reply to this post by Carlos Paradis
On 2020-05-19 7:31 a.m., Carlos Paradis wrote:
> Thank you, Nir! It didn't occur to me to check the wiki as well.
> Curiously enough, I don't see the pythonic package there. I will create
> an account and add it later following your suggestion.

Its probably b/c its still early days for that package: but some more
exposure and especially more help are always welcome!

Colin


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

siko1056
In reply to this post by apjanke-floss
On 5/20/20 10:31 AM, Andrew Janke wrote:

>
>
> On 5/19/20 10:21 AM, Nir Krakauer wrote:
>> The Octave wiki has a list of packages available outside of Octave Forge:
>> https://wiki.octave.org/Packages
>>
>> If you find other useful packages, feel free to update this listing.
>
>
> Would y'all mind if I added my own Tablicious[1] and Packajoozle[2]
> packages to this list? It would be nice to have the exposure
>
> Cheers,
> Andrew
>
> [1] https://github.com/apjanke/octave-tablicious
> [2] https://github.com/apjanke/octave-packajoozle
>
>

It is a wiki, feel free to add what you find useful.

Kai


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

apjanke-floss


On 5/20/20 2:59 AM, Kai Torben Ohlhus wrote:

> On 5/20/20 10:31 AM, Andrew Janke wrote:
>>
>>
>> On 5/19/20 10:21 AM, Nir Krakauer wrote:
>>> The Octave wiki has a list of packages available outside of Octave Forge:
>>> https://wiki.octave.org/Packages
>>>
>>> If you find other useful packages, feel free to update this listing.
>>
>>
>> Would y'all mind if I added my own Tablicious[1] and Packajoozle[2]
>> packages to this list? It would be nice to have the exposure
>>
>> Cheers,
>> Andrew
>>
>> [1] https://github.com/apjanke/octave-tablicious
>> [2] https://github.com/apjanke/octave-packajoozle
>>
>>
>
> It is a wiki, feel free to add what you find useful.
>
> Kai
>

Added, thanks!

Just figured that this is one of those cases where it really is better
to ask permission than forgiveness.

Cheers,
Andrew


Reply | Threaded
Open this post in threaded view
|

Re: Are there any currently major roadblocks on creating/maintaining an interface to R, such as ROctave?

Nir Krakauer-3
In reply to this post by apjanke-floss
> Would y'all mind if I added my own Tablicious[1] and Packajoozle[2]
> packages to this list? It would be nice to have the exposure

Please add them, it will be beneficial to Octave users to have a more
complete list.