如果函数使用变量,在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’
。