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)
    }
}
相关推荐
1024奇点3 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch4 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
Knight_AL5 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing035 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209996 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河6 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮6 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻6 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble6 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
码流子7 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构