如果函数使用变量,在R中是否有办法弹出错误消息
未在函数主体中声明:即,我希望有人标记此类函数

aha<-function(p){
  return(p+n)
}

看到;如果某个地方碰巧有一个“n”变量,那么aha(p = 2)会给我一个“答案”,因为R只会从那个叫做“环境”的神秘地方取“n”

最佳答案

如果您想在代码编写阶段而不是在运行时发现此类潜在问题,那么codetools包就是您的 friend 。

library(codetools)
aha<-function(p){
  return(p+n)
}

#check a specific function:
checkUsage(aha)

#check all loaded functions:
checkUsageEnv(.GlobalEnv)

这些将告诉您no visible binding for global variable ‘n’

08-19 23:09