在R环境中包含函数的安全方法

时间:2017-05-09 20:38:15

标签: r

我为我的项目编写了一堆函数,供用户以交互方式调用。

现在我想让他们安全地参加会议。

我想避免用户输入rm(list=ls())并从内存中删除我的函数的情况。

最初我尝试将功能保存到另一个环境并将该环境附加到搜索路径,但是在我更改内容的过程中,R无法再找到我的功能。

我的代码分为多个文件,但下面的代码段说明了事情的组织方式,通常用户会运行app.R,因为它包含对其他文件,配置等的引用:

./ funs.R

id.mapping.env <- new.env(parent = emptyenv())
attach(id.mapping.env)

id.mapping.env$test_function<- function() {
  print("It works")
}

./ app.R

source("./funs.R")
test_function

如果我运行app.R,我会收到错误:

  

错误:找不到函数“test_function”

为什么R不能找到我的功能?我是否必须编写自己的包以确保可以找到我的所有功能? 我不熟悉编写软件包,如果需要,你可以给我一个小小的演示/教程(我现在正在谷歌搜索)。

0 个答案:

没有答案