Чтобы пройти мимо R CMD check
, вы можете:
get("b")
(но это обременительно) a=b=NULL
где-то выше в вашем (это то, что я делаю) Некоторое время назад на r-devel был поток, из которого кто-то из r-core в основном говорил (из памяти): «УКАЗАНИЯ в порядке, вы знаете. предположение заключается в том, что автор проверил его и в порядке с ПРИМЕЧАНИЕ. ". Но я согласен с тобой. Я предпочитаю, чтобы проверки CRAN возвращали чистое «ОК» на всех платформах. Таким образом, пользователь не сомневается, что он проходит проверки в порядке.
EDIT:
Вот поток r-devel , который я помню (из Апрель 2010 г.). Таким образом, похоже, что есть некоторые ситуации, когда нет известного способа избежать ПРИМЕЧАНИЕ, но это нормально.
Это один из потенциальных «непредвиденных последствий» использования subset
неинтерактивно. Как говорится в разделе предупреждения ?subset
:
Это функция удобства, предназначенная для интерактивного использования. Для программирования лучше использовать стандартные функции подмножества, такие как '[', и, в частности, нестандартная оценка подмножества аргументов может иметь непредвиденные последствия.
blockquote>
Начиная с версии 2.15.1 R, существует способ:
if(getRversion() >= "2.15.1") utils::globalVariables(c("a", "othervar"))
В соответствии с секцией предупреждения ?subset
лучше использовать подмножество в интерактивном режиме, а [
для программирования.
Я бы заменил команду, подобную
subset(foo,a)
с
foo[foo$a]
, или если foo является фреймворком данных:
foo[foo$a, ]
вы также хотел бы использовать with
, если foo является фреймворком данных, и оцениваемое выражение является сложным:
with(foo, foo[a, ])