Я создал пакет для организации моих файлов для рабочего процесса анализа с помощью {drake}. Одна функция создает план Дрейка. Эта функция вызывается в _drake.R
для запуска анализа с r_make()
. Пока все хорошо, все работает, я могу изменить некоторые пути и аргументы в аргументах функции, и это создает новый план для запуска.
Вот пример кода
library(drake)
library(readr)
test_fn_plan <- function(paths, countries) {
drake_plan(
data = target(
read_tsv(file_in(path)),
transform = map(path = !!paths, country = !!countries, .id = country)
)
)
}
test_fn_plan(
c("path/to/data_IE.tsv", "path/to/data_UK.tsv"),
c("Ireland", "United Kingdom")
)
#> # A tibble: 2 x 2
#> target command
#> <chr> <expr>
#> 1 data_Ireland read_tsv(file_in("path/to/data_IE.tsv"))
#> 2 data_United.Kingdom read_tsv(file_in("path/to/data_UK.tsv"))
Создано в 2019-10-29 пакетом Представления (v0.3.0)
Проблема связана с devtools::check()
. Шаги плана рассматриваются как глобальные переменные, неопределенные глобальные переменные, и я не знаю, как с ними обращаться.
Я получаю следующие предупреждения (десятки на моем реальном коде)
test_fn_plan: no visible binding for global variable ‘path’
test_fn_plan: no visible binding for global variable ‘country’
Я уже исправил все остальные неопределенные глобальные переменные с помощью местоимения .data$
Рланга. Я остался с этими предупреждениями и не знаю, что делать (кроме как жить с этим).