Both library and require can load packages, but there is a difference between them.
In a function, if a package does not exist, execution to the library will stop and require will continue.
In.
Require returns true or false based on whether the package exists,
T <-Library ("ABC") Error in Library ("ABC"): There is no package called 'abc'> test # The Library does not return an error: object 'test' not found> test <-require ("ABC") Loading required package: abcwarning message: In Library (package, Lib. loc = Lib. loc, character. only = true, logical. return = true,: There is no package called 'abc'> test # require has returned value [1] false
Some operations can be performed using the above.
If (require ("lme4") {print ("lme4 is loaded correctly")} else {print ("trying to install lme4") install. packages ("lme4") if (require (lme4) {print ("lme4 installed and loaded")} else {stop ("cocould not install lme4 ")}}