R语言【base】——library(),require():加载/连接并列出包

Package base version 4.2.0


Description

library 和 require 加载并连接附加包。


Usage

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)

Arguments

参数【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,则输出额外的诊断结果。

参数【quitely】:逻辑值。如果为TRUE,则不打印确认附加包的消息,并且大多数情况下,如果附加包失败,则不打印错误/警告。

参数【pkg】:命名包的字符串。

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

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

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


Details

library (package)和require(package)都以package名称加载包的名称空间,并将其附加到搜索列表中。

Require是为在其他函数内部使用而设计的;如果包不存在,它返回FALSE并给出警告(而不是默认情况下library()所做的错误)。

这两个函数都检查和更新当前附加的包列表,并且不会重新加载已经加载的命名空间。(如果您想重新加载这样一个包,请先调用detach(unload = TRUE)或unloadNamespace。)如果您希望加载一个包而不将其附加到搜索列表中,请参阅requireNamespace。

要在加载包期间抑制消息,请使用suppressPackageStartupMessages:这将抑制来自R本身的所有消息,但不一定是来自包作者的所有消息。

如果library在没有package或help参数的情况下被调用,它会列出lib.loc指定的库中所有可用的包,并在类"libraryIQR"的对象中返回相应的信息。使用.packages(all = TRUE)获取所有可用包的名称,使用installed.packages()获取更多信息。

library(help = somename)计算包somename的基本信息,并在类"packageInfo"的对象中返回这些信息。当与lib.loc的默认值(NULL)一起使用时,附加的包在库之前搜索。


Value

通常,library返回(不可见的)附加包列表,但如果logical.return为TRUE则返回TRUE或FALSE。

当作为library()调用时,它返回一个类"libraryIQR"的对象,对于library(help=),返回一个类"packageInfo"的对象。

Require返回(不可见的)一个逻辑,指示所需的包是否可用。


Conflicts

冲突的处理取决于conficts.policy的设置。如果未设置此选项,则如果参数warn.conflicts为TRUE,则冲突将导致警告消息。如果该选项被设置为字符串"strict",那么所有未解决的冲突都表示错误。

冲突可以使用mask.ok、exclude、include.only解决。使用conflictRules可以指定mask.ok和exclue 的默认值。

如果conflicts.policy设置为 depends.ok,那么由附加已声明的依赖所产生的冲突不会产生错误,但是其他冲突会。

对于大多数需要额外保护以防止意外冲突的用户来说,这可能是最佳设置。

可以通过指定conflicts.policy来进一步调优策略。策略选项作为带有以下字段的命名列表:

  • error:逻辑值;如果为TRUE,则将未解决的冲突视为错误。
  • warn:逻辑值;除非FALSE在发现冲突时发出警告消息。
  • generics.ok:逻辑值;如果为TRUE,则忽略在搜索路径上为函数定义S4泛型所产生的冲突。
  • depends.ok:逻辑值;如果为TRUE,则不将与所需包的冲突视为错误。
  • can.mask:允许被屏蔽的包名称的字符向量。这些通常是默认附加的基本包。

Examples

R 复制代码
library()                   # list all available packages
library(lib.loc = .Library) # list all packages in the default library
library(help = splines)     # documentation on package 'splines'
library(splines)            # attach package 'splines'
require(splines)            # the same
search()                    # "splines", too
detach("package:splines")

# if the package name is in a character vector, use
pkg <- "splines"
library(pkg, character.only = TRUE)
detach(pos = match(paste("package", pkg, sep = ":"), search()))

require(pkg, character.only = TRUE)
detach(pos = match(paste("package", pkg, sep = ":"), search()))

require(nonexistent)        # FALSE
## Not run: 
## if you want to mask as little as possible, use
library(mypkg, pos = "package:base")
相关推荐
顾安r3 小时前
11.8 脚本网页 星际逃生
c语言·前端·javascript·flask
Hello.Reader3 小时前
Data Sink定义、参数与可落地示例
java·前端·网络
im_AMBER3 小时前
React 17
前端·javascript·笔记·学习·react.js·前端框架
谷歌开发者4 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (六)
前端·chrome·学习
一晌小贪欢4 小时前
【Html模板】电商运营可视化大屏模板 Excel存储 + 一键导出(已上线-可预览)
前端·数据分析·html·excel·数据看板·电商大屏·大屏看板
发现你走远了4 小时前
连接模拟器网页进行h5的调试(使用Chrome远程调试(推荐)) 保姆级图文
前端·chrome
街尾杂货店&5 小时前
css - 实现三角形 div 容器,用css画一个三角形(提供示例源码)简单粗暴几行代码搞定!
前端·css
顺凡5 小时前
删一个却少俩:Antd Tag 多节点同时消失的原因
前端·javascript·面试
小白路过5 小时前
CSS transform矩阵变换全面解析
前端·css·矩阵
爬山算法5 小时前
Redis(110)Redis的发布订阅机制如何使用?
前端·redis·bootstrap