R验证源代码

标签 r verification

采购R时,是否有任何方法可以“检查”或“验证” R中的源代码文件?
例如,我在文件“source.R”中具有此功能

MyFunction <- function(x)
{
print(x+y)
}

当采购“source.R”时,我希望看到某种警告:MyFunctions refers to an undefined object Y.
关于如何检查/验证R代码的任何提示?

干杯!

最佳答案

我使用像这样的函数来扫描文件中的所有函数:

critic <- function(file) {

   require(codetools)
   tmp.env <- new.env()
   sys.source(file, envir = tmp.env)
   checkUsageEnv(tmp.env, all = TRUE)

}

假设source.R包含两个相当不好编写的函数的定义:
MyFunction <- function(x) {
   print(x+y)
}

MyFunction2 <- function(x, z) {
   a <- 10
   x <- x + 1
   print(x)
}

这是输出:
critic("source.R")
# MyFunction: no visible binding for global variable ‘y’
# MyFunction2: local variable ‘a’ assigned but may not be used
# MyFunction2: parameter ‘x’ changed by assignment
# MyFunction2: parameter ‘z’ may not be used

关于R验证源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030005/

相关文章:

r - 在具有季节性周期的时间序列中插入缺失值

javascript 验证 0 为数字

dns - 验证域所有权

ios - 应用内购买 : how to handle receipt validation without uniqueIdentifier for iOS5?

r - 如何控制 Shiny 仪表板中信息框的字体大小?

r - rvest::html_text 和 RSelenium::getPageSource 有什么区别?

R - 聚合县 map 多边形以创建自定义边界

c++ - R-->cpp 如何获取 C++ 指针以与 sourceCpp 一起使用(贝尔曼福特算法)

c++ - 在基于自定义 Qt 的更新程序中下载验证

javascript - 特定电话号码排列的正则表达式