В чём разница между командами library() и require() в R.

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

Картинки по запросу близнецы

Ответ на этот вопрос я нашел вот тут, как оказалось всё довольно просто, обе команды подключают заранее установленные пакеты в рабочее пространство, но функция library() вернёт ошибку если запрашиваемый пакет не установлен:

Пример:

library(xyz)
Error in library(xyz) : there is no package called ‘xyz’

А функция require() вернёт предупреждение, при этом работа скрипта не будет остановлена до тех пор, пока вы не вызовите функцию из пакета который не установлен.

require(xyz)
Loading required package: xyz
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘xyz’

Вывод:

Предпочтительней использовать функцию library() т.к. она остановит выполнение скрипта и сообщит о том, что у вас не установлен какой либо из запрашиваемых пакетов перед тем как вы попробуете запустить его функции, это сократит время на выяснение причины некорректной работы ваших скриптов.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Создайте бесплатный сайт или блог на WordPress.com. Тема: Baskerville 2, автор: Anders Noren.

Вверх ↑

%d такие блоггеры, как: