gpt4 book ai didi

r - 只有 .R 文件中的源函数

转载 作者:行者123 更新时间:2023-12-01 09:56:09 25 4
gpt4 key购买 nike

我希望 source() 仅在 .R 文件中查找和加载函数。

例如,在文件 Analysis.R 中:

print.hw <- function() {
print("hello world")
}

x <- 1 + 2
...

当我 source("Analysis.R") 时,它会创建函数 print.hw 但也会分配 x,我不想。

有人有什么想法吗?我能找到的最好的问题是这个问题:

Source only part of a file

最佳答案

这在不使用正则表达式的情况下工作。它的计算效率也可能低于正则表达式解决方案。它创建一个新环境,获取整个文件,然后仅将函数返回到全局环境。

SourceFunctions<-function(file) {
MyEnv<-new.env()
source(file=file,local=MyEnv)
list2env(Filter(f=is.function,x=as.list(MyEnv)),
envir=parent.env(environment()))
}

关于r - 只有 .R 文件中的源函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26620324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com