1、使用Compiler包
library(compiler)
cmpfile("1.R")#实现对R脚本的整体加密
compiler::loadcmp("1.Rc")#调用R脚本
存在问题是,该方法仅对脚本进行加密。在加载生成的Rc文件后,脚本内具体函数,是可以看到具体内容的。
针对于使用source导入R脚本的,为隐藏原始代码可使用上述函数。
2、通过自编R包,部分函数取消标准注释。
my_func1 <- function(x) {
x + 1}
#' Title2
#'
#' @param y
#'
#' @return
#' @export
#'
#' @examples
my_func2 <- function(y) {
my_func1 (y) * 2}
上述代码编写了两个函数,写入R脚本,my_func1没有注释,my_func2有标准注释。具体R包构建,参考之前教程。构建完R包后,调用函数时my_func2可以查看原始函数信息,my_func1无法查看原始信息,达到隐藏my_func1的目的。