R等同于Python的导入机制

时间:2016-05-27 03:55:25

标签: python r import

在Python中,假设我们有:

lib.py:
def myFunction():
  ...

main.py:
  import lib
  lib.myFunction()

以便myFunction位于模块lib中,并且不会污染全局环境。

但是,在R中,要使用myFunction

lib.R:
myFunction <- function(...) {...}

main.R:
source("lib.R")
myFunction()

以便myFunction在全球环境中。如果lib.R具有其他功能,则所有这些功能都将被灌输到全局环境中,这是非常不受欢迎的。

我的问题是:R中有没有办法来&#34;导入&#34;其他文件中的用户定义函数,不会污染全局环境?

我想编写一个R包可能​​会缓解这个问题,但就我而言,写一个完整的软件包是不值得的。

1 个答案:

答案 0 :(得分:0)

如果导入两个具有相同功能名称的库,则可以使用libraryname::function(...)

这不会解决您的问题,但会确保您使用正确库中的正确功能。