Kon*_*rad 26
事实上,有一种方法可以实现满足您要求的解决方案.查看有关在R-Blogger上使用R部署桌面应用程序的文章.正如文章中详述的那样,最终将使用比单个exe文件更多的东西.
此外,我想提请你注意RGtk2与使用的RGtk2你可以尝试开发R.自己的界面如果推来推去,我相信你可以用R的便携版本一起收拾你的R代码里面和依赖于一个安装程序以及make和app,这会产生单个exe文件的错觉.
在您的问题中,您询问是否很容易开发一个解释R代码的独立可执行文件.我不会说这很容易.如果您非常希望从应用程序运行R代码,则可以使用RCaller for Java或R.NET以更简单的方式执行此操作.
Mad*_*one 11
回应你的评论:
实际上我想分发它,但保持脚本和算法的秘密,有没有办法加密或以任何其他方式实现这一目的?
您可以(通过使用保存函数来执行此操作)save().例如,这是一个f()你想保密的功能:
f <- function(x, y) {
return(x + y)
}
Run Code Online (Sandbox Code Playgroud)
保存在任何地方:
save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')
Run Code Online (Sandbox Code Playgroud)
当你想使用这个功能时:
load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")
Run Code Online (Sandbox Code Playgroud)
我将所有函数保存在单独的文件中,将它们放在一个文件夹中,并有一个普通的.R脚本将它们全部加载并执行任何操作.拉上整个东西并将其分发给任何人.甚至可以将它编译成一个包.实际上,整个事情将是只读的.
这个解决方案并不是那么好.您仍然可以通过键入函数的名称来查看R中的函数,因此在这种意义上它不会被隐藏.但是如果你打开.rda文件,它们的内容都会出现乱码.这完全取决于您的代码的收件人与R的经验.
我对这个问题做了一些研究,并在过去几年中实施了一些解决方案。
需要注意的是:我还没有测试过其中的大多数。通过查看解决方案,我经常感觉到这些解决方案可能会使发布变得有些复杂,因为总是涉及手动步骤。
加密代码的一种形式是在petalsTeachingDemos 包中的函数中实现的。
请注意,只需要中级编程技能即可找到隐藏的代码,但这确实需要刻意的努力,并且用户不能声称无意中看到了该代码。然后,您需要某种类型的许可协议来执行任何禁止偷看协议。
那么您将需要在部署计算机上安装 R。至于制作可执行文件,我不确定这是否可能。但您可以创建另一个程序来调用 R 脚本。R 是一种解释性语言。这不可能。