R中的库(.)命令的返回值

Max*_*Wen 1 r

在R中,当你想加载一个库时,例如调用一个foo,命令是

library(foo)
Run Code Online (Sandbox Code Playgroud)

此呼叫是否有返回值表示成功/失败?我想使用如下

if library(foo) != 1:
    install.packages("foo")
Run Code Online (Sandbox Code Playgroud)

谢谢

Cat*_*ath 5

来自以下Value部分?library:

通常,库返回(不可见)附加包的列表,但如果logical.return为TRUE则返回TRUE或FALSE.当作为library()调用时,它返回类"libraryIQR"的对象,对于库(help =),返回类"packageInfo"之一.

所以在你的情况下,你可以这样做:

if (!library(foo, logical.return = TRUE))
    install.packages("foo")
Run Code Online (Sandbox Code Playgroud)