R验证源代码

Posted

技术标签:

【中文标题】R验证源代码【英文标题】:R verify source code 【发布时间】:2012-08-15 07:57:13 【问题描述】:

在获取源代码文件时,是否有任何方法可以“检查”或“验证”R 中的源代码文件? 例如,我在文件“source.R”中有这个函数

MyFunction <- function(x)

print(x+y)

在采购“source.R”时,我希望看到某种警告:MyFunctions refers to an undefined object Y.

关于如何检查/验证 R 代码的任何提示?

干杯!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

您可以为此使用 base R 中的 codetools 包。如果您将代码放在一个包中,它会告诉您:

【讨论】:

以上是关于R验证源代码的主要内容,如果未能解决你的问题,请参考以下文章

DJANGO用户登录验证完整代码

R语言入门——验证多元回归的参数估计的无偏性

R语言入门——验证多元回归的参数估计的无偏性

R语言入门——验证多元回归的参数估计的无偏性

R中的随机森林交叉验证

贴吧旋转验证码---python破解代码