繁体   English   中英

从另一个脚本在 R 的一个脚本中调用单个 function

[英]Call a single function in one script in R from another script

我想将我在 R 中的脚本中构建的特定 function 调用到另一个脚本中。 我不想使用源 function 因为它将评估存储要调用的 function 的脚本。 你知道执行这项工作的任何选择吗?

这个答案,下面检查您在源文件中定义函数的位置,并仅评估这些行。

cmds <- parse("fakeload.R")
assign.funs <- sapply(cmds, function(x) {
   if(x[[1]]=="<-") {
       if(x[[3]][[1]]=="function") {
           return(TRUE)
       }
   }
   return(FALSE)
})
eval(cmds[assign.funs])

但是,这不是在 R 中执行此操作的正确方法。 编写一个只包含函数的脚本,您可以使用source在其他脚本中多次重复使用这些函数,而无需定义更多逻辑(调用函数的函数)。

例如,当您想要将相同的 function 加载到另一个脚本中时,您必须再次复制/粘贴此代码。 如果很多脚本使用同一个function,修改这个“函数加载”逻辑会让你有些头疼。

公平警告;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM