【发布时间】:2013-04-02 17:56:36
【问题描述】:
我创建了一个名为 myPackage 的 R 包。在那个包中,我使用了其他包,例如RJSONIO、stringr、RSQLite 和Rcpp。我想在安装myPackage 时安装所有这些软件包,如果之前没有安装的话。
这可能吗?
【问题讨论】:
标签: r installation package
我创建了一个名为 myPackage 的 R 包。在那个包中,我使用了其他包,例如RJSONIO、stringr、RSQLite 和Rcpp。我想在安装myPackage 时安装所有这些软件包,如果之前没有安装的话。
这可能吗?
【问题讨论】:
标签: r installation package
您可以在DESCRIPTION 文件的DEPENDS 部分中指定软件包列表。从链接的文档文件中
“Depends”字段给出了一个以逗号分隔的包名称列表 这个包所依赖的。包名可以是可选的 后跟括号中的注释。评论应该包含一个 比较运算符、空格和有效的版本号。你可以 如果您的包依赖于 特定版本的 R - 例如,如果包仅适用于 R 版本 2.11.0 或更高版本,在“取决于”字段中包含“R (>= 2.11.0)”。您还可以要求对 R-devel 或 R-patched 进行特定的 SVN 修订,例如 ‘R (>= 2.14.0), R (>= r56550)’ 需要高于 R-devel 的版本 2011 年 7 月下旬(包括 2.14.0 的已发布版本)。两个都 库和 R 包检查工具使用此字段:因此它 使用不正确的语法或滥用“Depends”字段是错误的 cmets 在可能需要的其他软件上。其他依赖 (R 系统外部)应列在 “SystemRequirements”字段,可能在单独的 README 中被放大 文件。 R INSTALL 工具检查使用的 R 版本是否为 对正在安装的软件包来说足够新,以及 指定的包将被附加(检查版本后 要求)在当前包之前,都在调用库时 以及在安装期间准备延迟加载时。
还有其他相关部分,例如 IMPORTS 和 SUGGESTS - 请参阅文档了解详细信息。
查看 r-forge 上的一些 R-packages 以获得一个想法。
【讨论】:
install.package("pg.0.1.1.tar.gz") 这会将您的存储库设置为本地文件系统,因此它不会自动下载 RJSONIO - 请参阅?install.package
getOptions("repo") 有关。我建议就这个具体问题提出另一个问题。