从不同的R脚本文件运行不同的R函数

时间:2019-05-02 10:02:56

标签: r function

我想知道如何从不同的R脚本文件运行不同的功能。

例如,在Main.R中:

source("Database.R")
msci_data <- getIndex() #function from Database.R

source("Positions.R")
current_positions <- getPositions() #function from Positions.R

我意识到在运行getPositions()方法之后,我的msci_data数据帧被删除了。无论如何,我可以从两个不同的源文件中调用多个函数吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

这是一个简短的演示,通常,采购多个R脚本不会从您的全局环境中删除任何内容。

我在文件foo.R中:

foo <- function(x) x^2

然后我有一个文件bar.R

bar <- function(x) x^3

然后从main.R,我执行以下操作:

x <- 1:10
ls()
# [1] "x"

source("foo.R")
foo(x)
# [1]   1   4   9  16  25  36  49  64  81 100
ls()
# [1] "foo" "x"  

source("bar.R")
bar(x)
# [1]    1    8   27   64  125  216  343  512  729 1000
ls()
# [1] "bar" "foo" "x"  

您可以看到所有功能均按预期工作,并且从全局环境中什么都没有删除。一定是Positions.R文件中的某些内容导致了此行为,所以没有人可以帮助您解决问题而又看不到代码。