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】:字符向量,包含要排除或包含在附加帧中的对象名称。在调用 library 或 require时,只能使用其中一个参数。

参数【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)
    }
}
相关推荐
FRing0310 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
西索斯coding10 小时前
Grok 4.7 调用一直 401 怎么办?不是 Key 过期,是 Authorization 头格式问题——排查全流程 + 修复示例
服务器·开发语言·ai·php
SEO_juper11 小时前
hreflang 审计工具:外贸多语言站谷歌SEO的隐性杀手
开发语言·人工智能·爬虫·python·seo
WJ.Polar11 小时前
final、单例类、枚举类、抽象类、接口
java·开发语言
小羊没烦恼!11 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
艾iYYY11 小时前
【无标题】
linux·开发语言·网络·操作系统
NetX行者11 小时前
Rust 初体验:一个全栈工程师的编译器“毒打“笔记
开发语言·笔记·rust
我就是不信12 小时前
Java8 lambda 表达式 forEach 如何提前终止?
开发语言·windows·python
Cx330❀12 小时前
深入浅出 Qt 绘图机制:从 QPainter 到四大图像类解析
开发语言·qt·ui·性能优化·图形渲染
信可维12 小时前
AI 读 Word 表格总读错?先查合并单元格和表头这 3 处
开发语言·人工智能·c#·word·软件工程