有没有简单的方法将我的R
脚本编译成独立的.exe
文件,就像matlab一样?
答案 0 :(得分:26)
事实上,有一种方法可以实现满足您要求的解决方案。请查看有关在R-Bloggers上部署Desktop Apps with R的文章。正如文章中详述的那样,最终将使用比单个exe文件更多的东西。
此外,我想提请你注意RGtk2使用RGtk2,你可以尝试在R中开发自己的界面。如果推动推进,我相信你可以打包您的R代码与可移植版本的R和依赖项一起放入一个安装程序和make和app中,这将产生单个exe文件的错觉。
在您的问题中,您询问是否 easy 开发一个解释R代码的独立可执行文件。我不会说这很容易。如果您非常希望从应用程序运行R代码,则可以使用RCaller for Java或R.NET以更简单的方式执行此操作。
答案 1 :(得分:10)
回应你的评论:
实际上我想分发它但保留脚本和 算法秘密,有没有办法加密那个或任何其他方式 达到这个目的?
您可以通过使用save()
保存功能来实现此目的。例如,这是一个你想保密的函数f()
:
f <- function(x, y) {
return(x + y)
}
将其保存在以下任何地方:
save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')
当你想使用这个功能时:
load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")
我会将所有函数保存在单独的文件中,将它们放在一个文件夹中,并使用一个普通的.R脚本将它们全部加载并执行任何操作。拉上整个东西并将其分发给任何人。甚至可以将它编译成一个包。实际上整个事情都是只读的。
这个解决方案虽然不是很好。您仍然可以通过键入函数的名称来查看R中的函数,因此在这种意义上它不会被隐藏。但是如果你打开.rda文件,它们的内容都会出现乱码。这完全取决于您的代码的收件人对R的经验。
答案 2 :(得分:4)
在TeachingDemos包中的petals
函数中实现了一种具有加密代码的形式。
请注意,只需要中级编程技能即可找到隐藏的代码,但这需要刻意的努力,用户无法声称看到代码是偶然的。然后,您需要某种类型的许可协议来强制执行任何不同意的协议。
答案 3 :(得分:3)
您需要在部署计算机上安装R。至于制作可执行文件,我不确定是否可行。但是您可以创建另一个调用R脚本的程序。 R是一种解释性语言。这是不可能的。