R中的库和包有什么区别?

use*_*366 13 packages r

R什么是之间的差异和一个

我遇到过人们在库中引用包的帖子.根据这个想法,我将其解释为一个包存在于一个库中(即我将我的包存储在一个指定的库中).但是当我想使用包'x'时,我感到困惑.

  • 我需要调用库函数来获取包'x'才能使用吗?
  • 一旦我调用了包'x',那么'x'包的功能就可供我使用了?

小智 14

在R中,包是R函数,数据和编译代码的集合.存储包的位置称为库.如果您需要特定功能,则可以从相应的站点下载该程序包,它将存储在您的库中.要实际使用该包,请使用命令"library(package)",该命令使您可以使用该包.然后只需调用相应的包函数等.


USE*_*R_1 5

1. 包装

软件包扩展了基本的R功能并标准化了代码的分发。例如,程序包可以包含与特定主题或任务相关的一组功能。

软件包可以作为SOURCE(包含所有软件包组件的目录),BINARIES(包含特定于操作系统的格式的文件)或BUNDLE(包含软件包组件的压缩文件,类似于源代码)进行分发。

最基本的包,例如使用

library(devtools)
create("C:/Users/Documents/R-dev/MyPackage")
Run Code Online (Sandbox Code Playgroud)

包含:

所有R代码所在的R /目录,以及descriptionNAMESPACE元数据文件。

2. 图书馆

库是存储软件包的目录。您的硬盘驱动器上可以有多个库。

要查看哪些库可用(在包的搜索路径中搜索):

.libPaths()
Run Code Online (Sandbox Code Playgroud)

并查看其中有哪些软件包:

lapply(.libPaths(), dir)
Run Code Online (Sandbox Code Playgroud)

要使用软件包“ x ”,首先必须将其安装在软件包库中。例如,可以使用以下方法完成此操作:

install.packages(‘x’) # to install packages from CRAN
Run Code Online (Sandbox Code Playgroud)

要么

R CMD INSTALL Xpackagename.tar.gz #to install directly from source
Run Code Online (Sandbox Code Playgroud)

安装后,必须使用library(x)或将其加载到内存中require(x)