为了账号安全,请及时绑定邮箱和手机立即绑定

require()和library()有什么区别?

require()和library()有什么区别?

千巷猫影 2019-09-18 11:22:35
require()和之间有什么区别library()?
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

日常工作中没有多少人。

但是,根据两个函数的文档(通过?在函数名称之前输入并按下enter键访问),require在函数内部使用,因为它输出警告并在未找到包时继续,但library会抛出错误。


查看完整回答
反对 回复 2019-09-18
?
慕村9548890

TA贡献1884条经验 获得超4个赞

另一个好处require()是它默认返回一个逻辑值。TRUE如果包是加载的,FALSE如果不是。


> test <- library("abc")

Error in library("abc") : there is no package called 'abc'

> test

Error: object 'test' not found

> test <- require("abc")

Loading required package: abc

Warning message:

In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :

  there is no package called 'abc'

> test

[1] FALSE

所以你可以使用require()像下面这样的结构。如果您想将代码分发到我们的R安装,那么主要方便的是可能没有安装软件包。


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("could not install lme4")

    }

}


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 1107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信