R语言【base】——使用library判断是否已经安装第三方软件包:library(package, logical.return=TRUE)

Package base version 4.3.2


Parameters

R 复制代码
library(package, help, pos = 2, lib.loc = NULL,
        character.only = FALSE, logical.return = FALSE,
        warn.conflicts, quietly = FALSE,
        verbose = getOption("verbose"),
        mask.ok, exclude, include.only,
        attach.required = missing(include.only))

require(package, lib.loc = NULL, quietly = FALSE,
        warn.conflicts,
        character.only = FALSE,
        mask.ok, exclude, include.only,
        attach.required = missing(include.only))

conflictRules(pkg, mask.ok = NULL, exclude = NULL)

参数【package,help】:软件包的名称,根据参数【character.only】是 FALSE(默认)还是 TRUE,以名称或字面字符串或字符串的形式给出。

参数【pos】:搜索列表中要附加已加载命名空间的位置。也可以是 **search()**给出的当前搜索列表中的位置名称。

参数【lib.loc】:描述要搜索的 R 库树位置的字符向量,或者 NULL。默认值 NULL 对应 .libPaths() 当前已知的所有库。不存在的库树将被忽略。

参数【character.only】:一个逻辑值,表示参数【package,help】是否可以假定为字符串。

参数【logical.return】:逻辑。如果为 TRUE,则返回 FALSE 或 TRUE,表示成功。

参数【warn.conflicts】:逻辑。如果为 TRUE,则会打印有关附加新软件包时发生冲突的警告。冲突是用功能掩盖功能,或用非功能掩盖非功能。默认值为 TRUE,除非在参数【conflicts.policy】中指定为 FALSE。

参数【verbose】:逻辑。如果为 TRUE,则打印额外的诊断信息。

参数【quietly】:为逻辑值。如果为 TRUE,则不会打印确认软件包连接的信息,如果软件包连接失败,通常也不会打印错误/警告信息。

参数【pkg】:字符串,用于命名软件包。

参数【mask.ok】:对象名称的字符向量,在启用严格冲突检查时,这些字符向量可以屏蔽搜索路径上的对象,而不会发出错误信号。

参数【exclude,include.only】:字符向量,包含要排除或包含在附加帧中的对象名称。在调用 libraryrequire时,只能使用其中一个参数。

参数【attach.required】:逻辑,指定是否应自动附加 DESCRIPTION 文件 Depends 子句中列出的所需软件包。


Example

R 复制代码
package <- c("rgbif", "BIEN")

for (p in package){
    if (!library(package=p, logical.return=TRUE, character.only=TRUE)){
        install.packages(p)
        library(package=p, character.only=TRUE)
    } else {
        library(package=p, character.only=TRUE)
    }
}
相关推荐
这不小天嘛6 小时前
JAVA八股——J集合篇
java·开发语言
AOwhisky6 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
喜欢的名字被抢了9 小时前
Python实战:SQLAlchemy ORM与FastAPI项目集成
开发语言·python·sql·教程·fastapi
从零开始的代码生活_11 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端
wabs66611 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
AOwhisky11 小时前
Python 学习笔记(第三期)——流程控制核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发·流程控制
逆向编程12 小时前
Socket异常连接自动清理方案
开发语言
va学弟13 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言
爱吃提升13 小时前
MATLAB impulse函数脉冲响应完整实操教程
开发语言·matlab
小饕13 小时前
从 1080 Ti 到树莓派 4:Qwen2.5-0.5B Function Calling 端侧部署七步实战
开发语言·人工智能