ソースコードファイルを調達するときに、Rで「チェック」または「検証」する方法はありますか?たとえば、この関数はファイル「source.R」にあります
MyFunction <- function(x)
{
print(x+y)
}
「source.R」を調達するとき、私はある種の警告を見たいです:MyFunctions refers to an undefined object Y.
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
かなり不十分に書かれた2つの関数の定義が含まれていると仮定します。
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のcodetoolsパッケージを使用できます。そして、あなたがあなたのコードをパッケージに持っていたなら、それはあなたにこれについて教えてくれるでしょう: