Использование witin
внутри функции в пакете принудительно возвращает предупреждение о R CMD check
.
reprex
Функция:
# Test within
hello <- function(x = data.frame(valA = 1, valB = 2)) {
within(data = x,
expr = {
res = valA + valB
})
}
выдаст следующие предупреждения на R CMD check
:
❯ checking R code for possible problems ... NOTE
hello: no visible binding for global variable ‘valA’
hello: no visible binding for global variable ‘valB’
Undefined global functions or variables:
valA valB
Обходной путь (решение)
Добавление valA <- valB <- NULL
отключит предупреждение.
hello <- function(x = data.frame(valA = 1, valB = 2)) {
valA <- valB <- NULL
within(data = x,
expr = {
res = valA + valB
})
}
Вопрос
Этот махинации с valA <- valB <- NULL
мне не нравятся. Как правильно подходить к этой ситуации?
Я хочу использовать within
, так как функция хорошо подходит для более широкого дизайна функций. Как правильно заставить замолчать предупреждение. Я наткнулся на аналогичное обсуждение на GitHub, в котором предлагается использовать with
в несколько ином случае.