3 回答
TA贡献2037条经验 获得超6个赞
日常工作中没有多少人。
但是,根据两个函数的文档(通过?
在函数名称之前输入并按下enter键访问),require
在函数内部使用,因为它输出警告并在未找到包时继续,但library
会抛出错误。
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")
}
}
- 3 回答
- 0 关注
- 1107 浏览
添加回答
举报