R - 如何做Python的尝试除外

pso*_*res 2 r exception

我开始使用R.虽然我更习惯python.

我想在R中使用库MASS做一个脚本.我想做一个尝试,除了查看库是否存在,否则安装它.
像这样的东西:

Try:
    library("MASS")
Except SomeError:
    install.packages("MASS")
    library("MASS")
Run Code Online (Sandbox Code Playgroud)

或者在R中,这没有多大意义.
无论如何,欢迎任何建议:)

And*_*rie 12

除了返回逻辑值之外,该函数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
Run Code Online (Sandbox Code Playgroud)

这意味着您可以使用简单的if语句,例如:

if(!require("MASS")) install.packages("MASS")
Run Code Online (Sandbox Code Playgroud)

R还有一个错误捕获机制.在?try或读取它?tryCatch