通过命令行安装二进制压缩 R 包
Posted
技术标签:
【中文标题】通过命令行安装二进制压缩 R 包【英文标题】:Install binary zipped R package via command line 【发布时间】:2011-10-27 21:22:04 【问题描述】:我正在尝试通过命令行在 Windows 7 机器上安装压缩的二进制 R 包
R CMD INSTALL packagename
但它不起作用。我读到 CMD INSTALL 不能用于安装二进制包。那么如何通过命令行安装二进制包呢?
【问题讨论】:
【参考方案1】:您可以使用Rscript
前端来运行代码,就像它在正在运行的 R 会话中一样。假设您要安装的软件包是当前工作目录中的foo.zip
。我可能在这里滥用Rscript
,但它对我有用:
Rscript -e "install.packages('foo.zip', repos = NULL)"
如果二进制包不在运行脚本的目录中,则需要提供二进制包的路径。 repos = NULL
是让 install.packages()
从本地文件工作的技巧。阅读?install.packages
以获取有关您可能想要指定的其他参数的更多信息,尤其是lib
。请注意,执行此操作时您不会从自动依赖解析中受益 - 您需要一个 repo
,如果您提供一个,R 将尝试下载包。
R CMD INSTALL
是对的; R 安装和管理手册在Section 6.3 中有以下内容:
在类 Unix 中从源代码安装包
R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
【讨论】:
【参考方案2】:对于像我这样的新手来说,一个没有麻烦的替代方案是:
install.packages(file.choose(), repos=NULL)
file.choose() 命令将显示一个窗口,您可以选择下载的 .zip 文件或 tar.gz 文件。 当您在 Windows 机器上没有足够的权限并像我这样从闪存驱动器运行 R 时,此命令非常有用。
在运行此命令之前将您要安装的 zip 文件重命名为您打算使用的包名称也很有用。
【讨论】:
这是 RStudio 中唯一对我有用的东西【参考方案3】:对@moldovean 的回答的补充: 我曾经保存压缩文件(从 temp 复制到 R 下载文件夹以供将来参考)。 当我将 R 从 2.15.1 更新到 3.0.1 时,我运行这些命令以便于安装:
setwd("C:/Downloads/R Packages");
packages<-dir();
install.packages(x, repos=NULL) #where x is the name of package
R 会自动从压缩文件中安装所有软件包。现在我可以只用一个命令更新所有这些(谷歌它)
【讨论】:
我认为这可能并不完全安全,因为这些软件包是在以前版本的 R ... 下构建的? (我可能是错的,我希望这样会更方便。)在你这样做之后,你应该运行update.packages(ask=FALSE,checkBuilt=TRUE)
,如果你有很多包,这可能需要一段时间......以上是关于通过命令行安装二进制压缩 R 包的主要内容,如果未能解决你的问题,请参考以下文章