通过命令行安装二进制压缩的R包

我试图通过命令行在Windows 7机器上安装压缩的二进制R

R CMD INSTALL packagename 

但它不起作用。 我读过CMD INSTALL不能用来安装二进制包。 那么如何通过命令行安装二进制包?

您可以使用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安装和管理手册在第6.3节中有以下内容:

以类似于Unix的方式从源码安装软件包

  R CMD INSTALL -l /path/to/library pkg1 pkg2 ... 

像我这样无忧无虑的新手的替代方案是:

  install.packages(file.choose(), repos=NULL) 

file.choose()命令将显示一个窗口,允许您选择.zip文件或下载tar.gz文件的位置。 当你在Windows机器上没有足够的权限并且像我一样从一个闪存驱动器运行R时,这个命令是非常有用的。

在运行此命令以将要安装的zip文件重新命名为您打算使用的软件包名称之前,这也很有用。

除了@ 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从压缩文件自动安装所有软件包。 现在我只能用一个命令来更新它们(谷歌它)