仅在第一个 运行 时才定义函数/全局变量

Define function / global variable only if first run

以前好像有人问过这个问题,现在找不到了

我有一个 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])  
}
if (! exists(x = "rowShift")) {rowShift <- ...}