В 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
2 ответа
Это означает, что пакет (в данном случае R) может получить доступ к функциям / объектам пакета, но пользователь не может без явной загрузки пакета инструментов, где в качестве статистики, графики и т. Д. Загружены и готовы перейти к пользователю.
Вот пример:
sessionInfo()
file_ext("file.com")
tools::file_ext("file.com")
sessionInfo()
Когда кто-то оценивает 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
независимо от того, есть ли инструменты на пути поиска или нет.