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")
相关推荐
ziyue757517 分钟前
vue修改element-ui的默认的class
前端·vue.js·ui
树叶会结冰38 分钟前
HTML语义化:当网页会说话
前端·html
冰万森43 分钟前
解决 React 项目初始化(npx create-react-app)速度慢的 7 个实用方案
前端·react.js·前端框架
牧羊人_myr1 小时前
Ajax 技术详解
前端
浩男孩1 小时前
🍀封装个 Button 组件,使用 vitest 来测试一下
前端
蓝银草同学1 小时前
阿里 Iconfont 项目丢失?手把手教你将已引用的 SVG 图标下载到本地
前端·icon
布列瑟农的星空1 小时前
重学React —— React事件机制 vs 浏览器事件机制
前端
程序定小飞2 小时前
基于springboot的在线商城系统设计与开发
java·数据库·vue.js·spring boot·后端
一小池勺2 小时前
CommonJS
前端·面试