我目前正在尝试在计算群集上运行一些R代码,但由于我的群集上有一些奇怪的防火墙设置,因此无法运行install.packages
功能。由于我只在R代码中使用了一些软件包,因此我希望通过手动下载和安装软件包来避免使用install.packages
函数。
注意:我知道有一种方法可以通过使用R FAQ中描述的HTTP代理来避免此问题。不幸的是,负责我的集群的人没有帮助设置它,所以我不得不考虑这种替代方法。
理想情况下,我想将软件包从CRAN下载到我的计算机,然后将这些文件上传到集群并使用R中的相应命令安装它们。此外,我还要确保软件包是安装到我选择的位置,因为我没有在默认R目录中“写”的权限(我相信我可以使用.libPaths
函数在R中执行此操作)
最后,我在群集上使用的计算机是Unix x86_64。
答案 0 :(得分:26)
您可以使用以下命令手动安装软件包
install.packages('package.zip', lib='destination_directory',repos = NULL)
有关详细说明,请参阅?install.packages
的帮助
答案 1 :(得分:1)
这是更好的方法,如果我们想在本地下载和安装:
download.packages('lib_name',destdir='dest_path')
例如:
download.packages('RJDBC',destdir='d:/rlibs')
答案 2 :(得分:0)
install.packages(“libname”,lib =“file:// F:/ test”)
答案 3 :(得分:0)
在安装插入符号包时,我也遇到了同样的问题,插入符号包有很多依赖性。 所以,我做了以下
install.packages('插入符') 这将使所有zip格式的软件包的下载位置显示在错误消息中。将所有软件包从下载源解压缩到某个位置,例如在'C:/ PublicData / RawRPackages'中,然后运行以下命令。
foldername<-'C:/PublicData/RawRPackages'
install.packages(paste(foldername , 'caret',sep='/'), repos = NULL, type="source")
library(caret, lib.loc=foldername)