В R, что означает "загружается через пространство имен (и не прилагается)" означает?

В R, что означает, что пакет "загружается через пространство имен (и не присоединен)" в sessionInfo()?

Изменить:

Например:

> sessionInfo()

R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

---->>>> loaded via a namespace (and not attached):
---->>>> [1] tools_2.15.2

Ответ 1

Это означает, что пакет (в этом случае R) может получить доступ к функциям/объектам пакета, но пользователь не может без явно загружать пакет инструментов, где статистика, графика и т.д. Загружаются и готовы для пользователя.

Вот пример:

sessionInfo()
file_ext("file.com")
tools::file_ext("file.com")
sessionInfo()

Ответ 2

Когда оценивается library(foo), R сначала загружает пакет foo в память, а затем присоединяет пакет к пути search(). Другие операции, такие как loadNamespace("foo") или foo::fun, или когда третья сторона указывает, что она импортирует символы из foo, загружает пакет, но не привязывает его к пути поиска. Поскольку R является динамическим языком, каждый вызов функции включает обход доступных символов, чтобы найти первое, что соответствует. Он эффективен и позволяет избежать ненужных конфликтов имен, разделяя операции прикрепления и загрузки и, следовательно, ограничивая количество символов для поиска.

В приведенном выше примере пакет инструментов был загружен, но не включен (пока). Когда кто-то вводит символ в командной строке R, R ищет символ сначала в глобальном пространстве имен (первый элемент, возвращаемый search() а если не найден, то в последовательных элементах search(). Поскольку инструменты не присоединены, символы в инструментах не разрешаются.

> file_ext
Error: object 'file_ext' not found

Тем не менее, у них есть доступ к ним с помощью tools::file_ext, независимо от того, tools::file_ext ли инструменты в пути поиска или нет.