Skip to content

How can one use R-code and R-functions within C-Code?

3 messages · moritz.marienfeld@arcor.de, Brian Ripley, Romain Francois

#
Dear everyone,

the following problem: Our group has written a lengthy program in c++, to which we would like to add some additional features. Because we are not sure if those features are actually useful, we would prefer to take a "quick and dirty" approach just to try them out. The additional feature is that in every iteration of the algorithm membership-probabilities should by calculated by a multinomial logit or probit model. We have tried to get C/C++ code for this, but sadly neither me nor my collegue succeded in obtaining C-code for something, which has certainly already be programmed in C several times. 

But we know, that R functions like "multinom" exist, which could do the job. This is why we would like to use R-Code and R-functions within or C++ program if this is possible. So I have actually two questions: Is it feasible to use R-code and R-functions like "multinom" within a c++ program? And if so, what is the best way to implement this (how to get data from C into the R functions, how to execute the R functions within C++, how to transfer the results back to c++)?

Moritz    

Moritz Marienfeld

Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: g??nstig
und schnell mit DSL - das All-Inclusive-Paket f??r clevere Doppel-Sparer,
nur  44,85 ?  inkl. DSL- und ISDN-Grundgeb??hr!
#
This is discussed in the `Writing R Extensions' manual which ships with 
every copy of R.

Yes, it is possible and widely used.  For example, this is how optim() and 
nls() work.

See the posting guide, which clearly indicates this is a topic for 
the R-devel list.
On Wed, 22 Feb 2006, moritz.marienfeld at arcor.de wrote:

            

  
    
#
Le 22.02.2006 13:25, moritz.marienfeld at arcor.de a ??crit :
Hi,

For a quick (and pretty not dirty) approach, try Rserve : 
http://rosuda.org/Rserve/

Romain