编译R脚本到独立的.exe文件?

有什么简单的方法来编译我的R脚本到独立的.exe文件就像什么样的MATLAB?

事实上,有一种方法可以达到您的要求。 看看有关在R-Bloggers上使用R来部署桌面应用程序的文章。 正如文章中详细描述的那样,您将最终使用比单个exe文件更多的东西。

另外我想用RGtk2来引起你对RGtk2的关注,你可以尝试在R中开发你自己的接口。如果推动起来,我相信你可以用R的便携版本打包你的R代码,依赖到一个安装程序,并从中创build和应用程序,这将创build一个exe文件的错觉。

在你的问题中,你问是否很容易开发解释R代码的独立可执行文件。 我不会说这很容易。 如果您希望从应用程序运行R代码,则可以使用RCaller for Java或R.NET以更简单的方式进行操作 。

回应你的评论:

其实我想分发它,但保持脚本和algorithm的秘密,有没有一种方法来encryption或以任何其他方式来达到这个目的?

你可以(有点)通过使用save()save()函数。 例如,下面是一个你想保密的函数f()

 f <- function(x, y) { return(x + y) } 

保存在任何地方:

 save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda') 

而当你想使用该function:

 load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda") 

我将所有的function保存在单独的文件中,将它们放在一个文件夹中,并有一个简单的旧.R脚本加载它们并执行任何操作。 把整个东西拉起来,分发给任何人。 也许甚至可以把它编译成一个包。 那么有效的整个事情将是只读的。

这个解决scheme虽然不是那么好。 你仍然可以通过input函数的名字来看到R中的函数,所以它在这个意义上并不隐藏。 但是,如果你打开.rda文件,他们的内容都是乱码。 这一切都取决于你的代码的收件人与R的经验。

那么你将需要R部署机器上安装。 至于做一个可执行文件,我不知道这是可能的。 但是你可以创build另一个调用你的R脚本的程序。 R是一种解释型语言。 这不可能。

在TeachingDemos软件包的petalsfunction中实现了一种具有encryption代码的forms。

请注意,只需要中等程度的编程技巧来find隐藏的代码,然而这需要刻意的努力,用户将无法声称已经看到了代码。 然后,您需要一些types的许可协议来执行任何没有偷看协议。