在R R安装上测试R软件包安装的最简单方法是什么?

时间:2017-07-28 23:33:39

标签: r

我想测试我已经设置了我的包依赖项并正确导入。我认为最好的检查方法是进行全新的R安装,但我不想删除所有现有的库来进行此测试。

对于我来说,只使用基本库和测试安装快速创建一个隔离的R实例,是否有相对轻松的方法?一旦我完成,最好能够轻松撕下整个东西。

2 个答案:

答案 0 :(得分:1)

您可以(相当容易)适当地使用“库路径” - 例如通过环境变量R_LIBS和/或R_LIBS_USER。其他选项是直接设置.libPaths()。完整详细信息位于help(Startup)

结合没有其他依赖关系的包,应该这样做。

这是一个小小的演示,只需在当前环境中使用文件~/.Renviron。我只有“基地R”,它的包装可见:

edd@brad:/tmp/libDemo$ cat .Renviron 
R_LIBS=""
R_LIBS_USER=""
R_LIBS_SITE="/usr/lib/R/library"
edd@brad:/tmp/libDemo$ Rscript -e 'print(.libPaths())'
[1] "/usr/lib/R/library"
edd@brad:/tmp/libDemo$ Rscript -e 'print(installed.packages()[,1:2])'
           Package      LibPath             
base       "base"       "/usr/lib/R/library"
boot       "boot"       "/usr/lib/R/library"
class      "class"      "/usr/lib/R/library"
cluster    "cluster"    "/usr/lib/R/library"
codetools  "codetools"  "/usr/lib/R/library"
compiler   "compiler"   "/usr/lib/R/library"
datasets   "datasets"   "/usr/lib/R/library"
foreign    "foreign"    "/usr/lib/R/library"
graphics   "graphics"   "/usr/lib/R/library"
grDevices  "grDevices"  "/usr/lib/R/library"
grid       "grid"       "/usr/lib/R/library"
KernSmooth "KernSmooth" "/usr/lib/R/library"
lattice    "lattice"    "/usr/lib/R/library"
MASS       "MASS"       "/usr/lib/R/library"
Matrix     "Matrix"     "/usr/lib/R/library"
methods    "methods"    "/usr/lib/R/library"
mgcv       "mgcv"       "/usr/lib/R/library"
nlme       "nlme"       "/usr/lib/R/library"
nnet       "nnet"       "/usr/lib/R/library"
parallel   "parallel"   "/usr/lib/R/library"
rpart      "rpart"      "/usr/lib/R/library"
spatial    "spatial"    "/usr/lib/R/library"
splines    "splines"    "/usr/lib/R/library"
stats      "stats"      "/usr/lib/R/library"
stats4     "stats4"     "/usr/lib/R/library"
survival   "survival"   "/usr/lib/R/library"
tcltk      "tcltk"      "/usr/lib/R/library"
tools      "tools"      "/usr/lib/R/library"
utils      "utils"      "/usr/lib/R/library"
edd@brad:/tmp/libDemo$ 

答案 1 :(得分:1)

我的计算机上安装了Anaconda / miniconda,它可用于创建R环境

conda create -n r-dev -c r r-essentials

很遗憾地在我的机器上ElementaryOS Loki 0.4。这没有正确设置tk / tcl,运行conda install tkconda install tcl没有帮助,结果是install.packages()在搜索CRAN镜像时会失败。我只需要devtools所以解决方法是使用

conda install r-devtools

此外我需要bioconductor包,所以我需要

R>source("https://bioconductor.org/biocLite.R")
R>biocLite("BiocInstaller")

这样就完成了我所需的环境,然后我使用devtool::install_github()来测试我的软件包的安装。