そのため、いくつかの R 関数をパッケージに入れることにし、 R Extensionの記述を読んだり学んだりしています。
それは明らかに、私が正しくしていない多くのことについて不平を言っています。
これはテスト スタイルに関するものです。RUnitを使用しており、テスト対象のコードにできるだけ近いテストを行うのが好きです。こうすることで、テストのことを忘れずに、テストを技術文書の一部として使用しています。
例えば:
fillInTheBlanks <- function(S) {
## NA in S are replaced with observed values
## accepts a vector possibly holding NA values and returns a vector
## where all observed values are carried forward and the first is
## carried backward. cfr na.locf from zoo library.
L <- !is.na(S)
c(S[L][1], S[L])[1 + cumsum(L)]
}
test.fillInTheBlanks <- function() {
checkEquals(fillInTheBlanks(c(1, NA, NA, 2, 3, NA, 4)), c(1, 1, 1, 2, 3, 3, 4))
checkEquals(fillInTheBlanks(c(1, 2, 3, 4)), c(1, 2, 3, 4))
checkEquals(fillInTheBlanks(c(NA, NA, 2, 3, NA, 4)), c(2, 2, 2, 3, 3, 4))
}
しかしR CMD check
、次のような NOTE 行を発行します。
test.fillInTheBlanks: no visible global function definition for
‘checkEquals’
そして、私がテスト関数を文書化していないと文句を言います。
私は実際にはテスト関数のドキュメントを追加したくありません。RUnit パッケージに依存関係を追加する必要がないことを絶対に望んでいます。
この問題をどう見るべきだと思いますか?