#r #devtools #roxygen2
#r #devtools #roxygen2
Вопрос:
Я получаю сообщение об ошибке при запуске devtools::document()
моего простого тестового R
файла. Мне кажется devtools
, что он просит включить imports
пакет в DESCRIPTION
файл, но мой тестовый файл использует import
not imports
. Я что-то пропустил для имени пакета?
Мой R
скрипт, DESCRIPTION
файл, вывод на консоль с ошибкой, а также содержимое папки и файла ниже.
файл test.R
#' This is the title.
#'
#' This is the description.
#'
import::from(dplyr, filter)
test_str <- "Hello world"
Файл ОПИСАНИЯ
Package: test
Title: test
Version: 0.1
Depends: R (>= 3.1.0)
Imports:
dplyr,
import
Roxygen: list(markdown = TRUE)
Encoding: UTF-8
RoxygenNote: 7.1.1
Вывод на консоль
devtools::document()
Updating test documentation
Loading test
Error in as.environment(where) :
no item called "imports" on the search list
Структура файлов и папок
~test
DESCRIPTION
NAMESPACE
R
Rtest.R
Комментарии:
1. Есть ли причина, по которой вы используете
import::from
, а не используете синтаксис#' @importFrom dplyr filter
типа roxygen при создании пакета?2. Я, вероятно, путаю понятия. Я избегаю чтения виньетки
@importFrom
roxygen2 из-за плохой читаемости. Предложение из виньетки заключается в использованииpkg::fun()
, но это кажется уродливым при многократном использовании одной и той же функции. Я надеялся использоватьimport::from
so, чтобы я мог напрямую вызывать (в этом примере)filter()
вместоdplyr::filter()
, избегая при этом импорта полных пакетов.3. Я не знаком с
import::from
, но при беглом взгляде на документацию это, по-видимому, не подходит для кода пакета. Это может иметь смысл для пользовательских сценариев. Если вы хотите, чтобы ваш пакет проходил проверку CRAN, вам нужно будет использоватьpkg::fun()
синтаксис стиля.4. Я считаю
imports
, что это не связано сimports
пакетом, но: «Импортированные объекты помещаются в отдельный объект в пути поиска, который по умолчанию имеет имяimports
«. cran.r-project.org/web/packages/import/vignettes/import.html