【问题标题】:Importing Functions into Current Namespace将函数导入当前命名空间
【发布时间】:2010-12-19 01:27:59
【问题描述】:

假设我有一个由一些函数组成的 R 源文件,不管它们是什么,例如,

fnx = function(x){(x - mean(x))/sd(x)}

我希望能够在我当前的 R 会话中访问它们(显然不需要输入它们)。如果 library("/path/to/file/my_fn_lib1.r") 工作,那就太好了,因为“import”在 Python 中工作,但它没有。一个明显的解决方案是创建一个 R 包,但我想避免仅导入一些函数的开销。

【问题讨论】:

    标签: r


    【解决方案1】:

    使用source() 命令。在你的情况下:

    source("/path/to/file/my_fn_lib1.r")
    

    顺便说一句,使用package.skeleton() 函数创建一个包相当容易(如果您打算经常重用它)。

    【讨论】:

    • 这正是我所寻找的,但事实上,在你回答之前我不知道的 package.skeleton() 比我想象的要容易得多,而且我实际上使用了它到底。谢谢!
    • 可能应该指出,devtools 包使创建 R 包变得非常容易。
    • 截至 2020 年,在 R 中创建包的建议工具是:devtool、skeleton 还是其他?
    猜你喜欢
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多