- [R从C - 尽可能简单的Helloworld [英] R from C -- Simplest Possible Helloworld

查看:167
本文介绍了 - [R从C - 尽可能简单的Helloworld的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是用于开始第r间preTER,传递一个小的前pression(例如,2 + 2),并得到了结果的最简单的可能的C函数?我想使用MinGW编译在Windows上。

What is the simplest possible C function for starting the R interpreter, passing in a small expression (eg, 2+2), and getting out the result? I'm trying to compile with MingW on Windows.

推荐答案

您想从C调用R'

在该 8.1节看写R附加手册。你也应该看看进入测试目录(下载源代码包解压缩,你就会有测试目录)。类似的问题是previously问及R-帮助和的<​​a href =htt​​p://n4.nabble.com/Qs-on-calling-R-from-C-td923995.html相对=nofollow >这里是例子:

Look at section 8.1 in the Writing R Extensions manual. You should also look into the "tests" directory (download the source package extract it and you'll have the tests directory). A similar question was previously asked on R-Help and here was the example:

#include <Rinternals.h> 
#include <Rembedded.h> 

SEXP hello() { 
  return mkString("Hello, world!\n"); 
} 

int main(int argc, char **argv) { 
  SEXP x; 
  Rf_initEmbeddedR(argc, argv); 
  x = hello(); 
  return x == NULL;             /* i.e. 0 on success */ 
} 

从R手动的简单的例子是,像这样:

The simple example from the R manual is like so:

 #include <Rembedded.h>

 int main(int ac, char **av)
 {
     /* do some setup */
     Rf_initEmbeddedR(argc, argv);
     /* do some more setup */

     /* submit some code to R, which is done interactively via
         run_Rmainloop();

         A possible substitute for a pseudo-console is

         R_ReplDLLinit();
         while(R_ReplDLLdo1() > 0) {
           add user actions here if desired
         }
      */
     Rf_endEmbeddedR(0);
     /* final tidying up after R is shutdown */
     return 0;
 }

顺便说一句,你可能要考虑使用的 Ri​​nside 来代替:德克提供的一个很好的Hello World的例子中的项目主页。

Incidentally, you might want to consider using Rinside instead: Dirk provides a nice "hello world" example on the project homepage.

在你感兴趣的调用由R C,这是我原来的答复:

In you're interested in calling C from R, here's my original answer:

这是不完全的hello world,但这里有一些很好的资源:

This isn't exactly "hello world", but here are some good resources:


  • 周杰伦艾默生最近给在纽约的用户群R上封装发展的谈话,他提供了使用C从内部R的一些非常好的例子看一看的从他的网站这次讨论中,开始第9页的纸张所有相关的源$ C ​​$ C是在这里:< A HREF =htt​​p://www.stat.yale.edu/~jay/Rmeetup/MyToolkitWithC/相对=nofollow> http://www.stat.yale.edu/~jay/Rmeetup/MyToolkitWithC/ 。

  • 在哈佛受戈皮·哥斯瓦米在2005年讲授课程: C-C ++ - R(统计)。这包括大量的示例和源$ C ​​$ C。

  • Jay Emerson recently gave a talk on R package development at the New York useR group, and he provided some very nice examples of using C from within R. Have a look at the paper from this discussion on his website, starting on page 9. All the related source code is here: http://www.stat.yale.edu/~jay/Rmeetup/MyToolkitWithC/.
  • The course taught at Harvard by Gopi Goswami in 2005: C-C++-R (in Statistics). This includes extensive examples and source code.

这篇关于 - [R从C - 尽可能简单的Helloworld的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆