Функция require
практически идентична library
, за исключением того, что возвращает логическое значение.
> x <- require("MASS")
> x
[1] TRUE
> x <- require("notExist")
Loading required package: notExist
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'notExist'
> x
[1] FALSE
Это означает, что вы можете использовать простое выражение if
, например:
if(!require("MASS")) install.packages("MASS")
R также имеет механизм захвата ошибок. Читайте об этом на ?try
или ?tryCatch