一、执行方式不同
1、library:在一个函数中,如果一个包不存在,执行到library将会停止执行。
2、require:在一个函数中,如果一个包不存在,执行到require将会继续执行。
二、返回机制不同
1、library:library并不会返回包存在与否的消息。
2、require:require将会根据包的存在与否返回true或者false。
三、语法不同
1、library:library(cluster)。
2、require:调用包方法if(!require("cluster")) install.packages("cluster")
参考资料来源:百度百科-R语言编程
参考资料来源:百度百科-R语言
library和require都可以载入包,但二者存在区别。
在一个函数中,如果一个包不存在,执行到library将会停止执行,require则会继续执行。
require将会根据包的存在与否返回true或者false,
t <- library("abc")
Error in library("abc") : there is no package called 'abc'
> test#library没有返回值
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#require有返回值
[1] FALSE
利用上面这一点可以进行一些操作
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")
}
}
//不断创建线程,直到再不能创建为止
m_nCount=nCount;
UpdateData(FALSE);
Sleep(5000);
//延时5秒,等待所有创建的线程结束
GetDlgItem(IDC_TEST)->EnableWindow(TRUE);
m_bRunFlag=TRUE;
}