在R
库和包之间有什么区别?
我遇到过人们在库中引用包的帖子。基于这个想法,我将它解释为一个包存在于一个库中(即我将我的包存储在一个指定的库中)。但是当我想使用包' x' 时,我感到困惑。
答案 0 :(得分:14)
在R中,包是R函数,数据和编译代码的集合。存储包的位置称为库。如果您需要特定功能,则可以从相应的站点下载该程序包,它将存储在您的库中。要实际使用该包,请使用命令“library(package)”,该命令使您可以使用该包。然后只需调用相应的包函数等。
答案 1 :(得分:4)
Package扩展了基本的R功能并标准化了代码的分发。例如,包可以包含一组与特定主题相关的功能。
包可以作为SOURCE(包含所有包组件的目录),BINARIES(包含OS特定格式的文件)或BUNDLE(包含包组件的压缩文件,类似于源)进行分发。
最基本的包,例如使用
创建myObj::myObj(QObject *parent) : QObject(parent), percentTimer(nullptr)
{
moveToThread(&workerThread);
connect(&workerThread, SIGNAL(finished()), this, SLOT(deleteLater()));
connect(this, SIGNAL(UpdateResult()), mainClass, SLOT(on_UpdateResult()));
connect(&workerThread, SIGNAL(started()), this, SLOT(init()));
connect(&workerThread, SIGNAL(started()), this, SLOT(doWork()));
connect(this, SIGNAL(start()), this, SLOT(startFunction()));
percent++;
}
void myObj::init() {
percentTimer = new QTimer();
percentTimer->setInterval(1000);
connect(percentTimer, SIGNAL(timeout()), this, SLOT(percentUpdate()));
}
包含:
所有R代码所在的R / 目录,以及 DESCRIPTION 和 NAMESPACE 元数据文件。
Library是存储包的目录。您可以在硬盘上安装多个库。
要查看哪些库可用(搜索哪些路径包):
library(devtools)
create("C:/Users/Documents/R-dev/MyPackage")
看看有哪些包裹:
.libPaths()
要使用软件包“ x ”,首先必须将其安装在软件包库中。这可以通过以下方式完成:
lapply(.libPaths(), dir)
或
install.packages(‘x’) # to install packages from CRAN
安装后,必须使用R CMD INSTALL Xpackagename.tar.gz #to install directly from source
或library(x)