gpt4 book ai didi

R:按名称源函数/导入函数子集

转载 作者:行者123 更新时间:2023-12-04 11:08:48 24 4
gpt4 key购买 nike

我对导入函数有疑问。

假设我有一个名为“functions”的 R 脚本,如下所示:

mult <- function(x,y){

return(x*y)

}

divide <- function(x,y){

return(x/y)

}

目前我正在导入脚本中的所有函数:
source(file="C:\\functions.R",echo=FALSE)

问题是(实际)R 脚本变得非常大。

有没有办法只导入“mult”函数?

我正在查看 evalSource/insertSource 但我的代码不起作用:
insertSource("C:\\functions.R", functions="mult")  

最佳答案

看起来您的代码可以稍作更改:首先为要加载的函数定义一个空对象,然后使用 insertSource .

mult <- function(x) {0}
insertSource("C:\\functions.R", functions="mult")
mult

这使:
Object of class "functionWithTrace", from source
function (x, y)
{
return(x * y)
}

## (to see original from package, look at object@original)
mult对象有一些附加信息,我认为这些信息与 insertSource 的原始应用程序有关。 ,但你可以用 mult <- mult@.Data 摆脱它们,这将设置 mult仅适用于实际的函数体。

此外,您可能对 modules 感兴趣github 上的项目,该项目试图实现 R 包系统的轻量级版本,以方便代码重用。似乎这可能是相关的,尽管我认为您必须将函数拆分为不同子目录中的单独文件。

关于R:按名称源函数/导入函数子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23092580/

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