можно использовать ??чтобы увидеть, какие пакеты реализуют эту функцию, devtools перезаписывает system.file, поэтому может случиться так, что system.file отличается от base: system.file
??system.file
также если вы наберете только функцию, которую она должна отобразитьпакет функции
> base::system.file
function (..., package = "base", lib.loc = NULL, mustWork = FALSE)
{
if (nargs() == 0L)
return(file.path(.Library, "base"))
if (length(package) != 1L)
stop("'package' must be of length 1")
packagePath <- find.package(package, lib.loc, quiet = TRUE)
ans <- if (length(packagePath)) {
FILES <- file.path(packagePath, ...)
present <- file.exists(FILES)
if (any(present))
FILES[present]
else ""
}
else ""
if (mustWork && identical(ans, ""))
stop("no file found")
ans
}
<bytecode: 0x2342e00>
<environment: namespace:base>
кажется, что system.file работает с devtools: system.file, который отличается от base :: system.file
https://www.rdocumentation.org/packages/devtools/versions/1.13.6/topics/system.file
Один возвращает путь относительно пакета
Когда system.file вызывается из консоли R (глобальное окружение), эта функция определяет, был ли целевой пакет загружен с помощью load_all, и еслипоэтому он использует индивидуальный метод поиска файла.Это необходимо, поскольку структура каталогов исходного пакета отличается от структуры каталогов установленного пакета.