仅在首次运行时定义函数/全局变量

时间:2016-04-25 15:47:53

标签: r global-variables user-defined-functions

这似乎是以前会被问过的东西,但我找不到它。

我有一个R文件,它以用于将函数定义为全局变量和加载库的代码开头。其中很多。我希望只有在以前没有运行的情况下运行它们。

对于库,以下代码(在此处找到:How can I tell if a certain package was already installed?)完成工作:

if (!require(rockchalk)) {library(rockchalk)}

定义全局变量有什么相似之处吗?作为一个例子,我希望以下代码只运行一次(而不是每次重新运行整个文件):

rowShift <- function(x, shiftLen = 1L) { 
  r <- (1L + shiftLen):(length(x) + shiftLen)
  r[r<1] <- NA
  return(x[r])  
}

1 个答案:

答案 0 :(得分:0)

if (! exists(x = "rowShift")) {rowShift <- ...}