Вот уже почти как два года я ежедневно работаю с 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()
т.к. она остановит выполнение скрипта и сообщит о том, что у вас не установлен какой либо из запрашиваемых пакетов перед тем как вы попробуете запустить его функции, это сократит время на выяснение причины некорректной работы ваших скриптов.
Добавить комментарий