在一个使用 R 的长期项目中,我定义了一组大约 50 个我一直使用的函数,另外还有 10 或 15 个我偶尔使用的函数。其中大部分不是我直接使用的功能;它们是我用来定义我直接使用的辅助函数。当我从 R 数据文件加载数据对象时,我并不总是记得我为这些对象命名的内容,因此我执行ls()
以查看我加载的内容。但是,如果我已经加载了源 doe 文件,我必须在视觉上筛选输出以细化数据对象,这显然是不方便的。
所以我将这些函数包装到一个 R 包中。如果我只是加载包,那么一切都很好。我可以使用这些功能,但ls()
只显示数据对象。
但是,我不断添加新功能。而且我发现重新制作包并不完全是微不足道的,所以我最终还是从源文件中加载了我的函数——直到我开始重新制作包。
我当然可以比我更多地自动化包构建过程,或者将我的新功能拆分到单独的源文件中。我还可以将函数拆分为不同的包——也许这会有所帮助。我想我只能通过对我直接调用的函数的闭包来使辅助函数可用——我没有尝试过——但是如果我想这样做的话,我不能直接使用辅助函数,而且看起来像如果有更简单的方法,那就大材小用了。这就是我想知道的:是否有一个我错过的简单技巧——一种使函数可供使用的方法,但可以很容易地向我展示我拥有的数据对象而不列出函数。如果没有,好的,但我认为这值得一问。谢谢。
这些问题: 在 r 中隐藏个人函数并 删除除函数之外的所有变量 提供了非常有用的答案。完成上述内容的最简单方法是什么?