开始使用RInside C++

3
我已经使用R语言约4年了,过去两个星期,我开发了一些函数的简单包,可以分析一些数据并以适合我的团队成员和主管正在处理的项目以及即将到来的项目的方式绘制一些图形。所以现在他们要求我能够将它制作成一个可执行文件,而不需要其他人知道R语言——所以它是一个单独的.exe文件,具有基于文本的菜单或简单的GUI界面。
自冬季以来,我一直在慢慢学习C++,我想使用RInside是实现这一目标的最佳方式;使用C++生成带有R核心的.exe文件,用于惊人的绘图和图形,但它将存在于我们团队可以使用的可执行文件中。我目前已经掌握C++变量、基本输入输出、布尔值和流程控制、函数、数组、结构体和类、重载友元和引用。我看了看Dirk的博客,并重新安装了位于C:\R\的R语言,同时也安装了我正在学习C++的CodeBlocks和MinGW。在继续之前,我需要知道应该采取什么预防措施以及需要检查/阅读/了解哪些内容,也许还需要一个对新手友好的建议性方式来开始尝试和探索。
通过Google搜索,我发现很少有教程或者指导,不像Rcpp那样,人们(例如像Hadley这样的人)编写了令人惊叹的维基百科或博客文章,这些文章比起更技术性的文档来说更容易理解。

3
我认为这个问题更适合在http://programmers.stackexchange.com询问。 - FThompson
2
相反,你应该要求你的同事花费10分钟学习如何将函数名称和参数输入到R命令行中! - Simon O'Hanlon
你不能将你的应用程序作为一个R脚本(一个可执行的文本文件,其中包含R代码,以“#!/usr/bin/rscript”开头,可以独立运行)分发吗?这假设安装了R,但对于最终用户而言,它与编译后的可执行文件无异。 - Vincent Zoonekynd
目前它是一个R包二进制文件,目前使用它的人如果遇到任何问题或将数据发送给我。但我认为他们要求.exe的真正原因是它将结合其他相关项目的一些其他分析(不一定是R)形成足够大的东西,值得组合成.exe,并且他们希望我的R代码成为其中的一部分。就像现在的情况一样,我的R内容是放入.exe中的第一件事,所以我被要求试着解决它。 - SJWard
1
不是你要求的,但我曾经使用过一种非常成功的替代方法,就是使用gWidgets包在R中创建GUI。它很容易学习,简单的GUI可以快速创建。 - Richie Cotton
显示剩余2条评论
1个回答

9

本文没有步骤说明或教程,因为有六个示例目录,并且包含大量的示例。

建议先查看 standard/ 目录中的示例,从非常简单的开始逐步学习。

以下是一个最简单的 hello-world 示例 rinside_sample0.cpp

#include <RInside.h>                    // for the embedded R via RInside

int main(int argc, char *argv[]) {
    RInside R(argc, argv);              // create an embedded R instance 
    R["txt"] = "Hello, world!\n";       // assign a char* (string) to 'txt'
    R.parseEvalQ("cat(txt)");           // eval init string, ignoring returns
    exit(0);
}

只需要输入'make rinside_sample0' (在Windows下输入make -f Makefile.win rinside_sample0)。请注意,在Windows下,您需要将几个DLLSs放入路径等等--Linux更容易。

还可以查看此处以前的问题:[rinside]标签。


谢谢Dirk,我会试着玩一下看看我能做什么 - 我的电脑上也有一个Linux分区,所以如果我在Windows上遇到困难,我可以切换。 - SJWard
好主意!很多人在Windows上使用它,我也会不时地进行测试,但我发现它更加繁琐。对于简单的“存在证明”,Linux应该更容易。请考虑接受/点赞答案,因为这就是该网站的运作方式... - Dirk Eddelbuettel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接