What is the difference between require() and library()?

前端 未结 8 1237
情话喂你
情话喂你 2020-11-22 11:00

What is the difference between require() and library()?

8条回答
  •  时光说笑
    2020-11-22 11:41

    You can use require() if you want to install packages if and only if necessary, such as:

    if (!require(package, character.only=T, quietly=T)) {
        install.packages(package)
        library(package, character.only=T)
    }
    

    For multiple packages you can use

    for (package in c('', '')) {
        if (!require(package, character.only=T, quietly=T)) {
            install.packages(package)
            library(package, character.only=T)
        }
    }
    

    Pro tips:

    • When used inside the script, you can avoid a dialog screen by specifying the repos parameter of install.packages(), such as

      install.packages(package, repos="http://cran.us.r-project.org")
      
    • You can wrap require() and library() in suppressPackageStartupMessages() to, well, suppress package startup messages, and also use the parameters require(..., quietly=T, warn.conflicts=F) if needed to keep the installs quiet.

提交回复
热议问题