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)
    }
}
相关推荐
Ulyanov16 分钟前
用Pyglet打造AI数字猎人:从零开始的Python游戏开发与强化学习实践
开发语言·人工智能·python
独自归家的兔32 分钟前
OCPP 1.6 协议详解:StatusNotification 状态通知指令
开发语言·数据库·spring boot·物联网
希望永不加班37 分钟前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
RNEA ESIO1 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
23471021271 小时前
4.15 学习笔记
开发语言·软件测试·python
java1234_小锋2 小时前
Java高频面试题:什么是可重入锁?
java·开发语言
雾岛听蓝2 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt
zopple3 小时前
Laravel vs ThinkPHP:PHP框架终极对决
开发语言·php·laravel
松☆3 小时前
C++ 算法竞赛题解:P13569 [CCPC 2024 重庆站] osu!mania —— 浮点数精度陷阱与 `eps` 的深度解析
开发语言·c++·算法
耿雨飞3 小时前
Python 后端开发技术博客专栏 | 第 06 篇 描述符与属性管理 -- 理解 Python 属性访问的底层机制
开发语言·python