Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在新安装的R上测试R包安装的最简单方法?_R - Fatal编程技术网

在新安装的R上测试R包安装的最简单方法?

在新安装的R上测试R包安装的最简单方法?,r,R,我想测试我是否正确设置了包依赖项和导入。我认为最好的检查方法是重新安装R,但我不想删除所有现有库来进行此测试 对于我来说,有没有一种相对轻松的方法来快速创建一个只有基本库和测试安装的独立R实例?最好能够在我完成后轻松地将整个过程分解。您可以(相当容易)适当地使用“库路径”——例如通过环境变量R\u LIBS和/或R\u LIBS\u USER。其他选项是直接设置.libPaths()。详细信息请参见帮助(启动) 再加上一个没有附加依赖项的包,就可以了 下面是一个小演示,只需在当前环境中使用文件~

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

对于我来说,有没有一种相对轻松的方法来快速创建一个只有基本库和测试安装的独立R实例?最好能够在我完成后轻松地将整个过程分解。

您可以(相当容易)适当地使用“库路径”——例如通过环境变量
R\u LIBS
和/或
R\u LIBS\u USER
。其他选项是直接设置
.libPaths()
。详细信息请参见
帮助(启动)

再加上一个没有附加依赖项的包,就可以了

下面是一个小演示,只需在当前环境中使用文件
~/.Renviron
。我只有“base 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$ 

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

conda create -n r-dev -c r r-essentials
不幸的是,在我的机器上
ElementaryOS Loki 0.4
。这没有正确设置tk/tcl,运行
conda install tk
conda install tcl
没有帮助,结果是
install.packages()
在搜索CRAN镜像时将失败。我只需要devtools,所以解决方法是使用

conda install r-devtools
此外,我需要生物导体封装,所以我需要

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

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

如果您已经安装了anaconda python。你可以创建一个虚拟环境,隔离内容,你可以在其中安装任何你喜欢的东西,然后通过将其卸载到环境中来溶解所有内容。谢谢,我已经在研究这个或Docker,conda似乎更容易管理,可惜它没有最新版本的R。我在我的jupyter笔记本环境中安装了R。它可能不是最新的,但到目前为止它已经完成了我要求它做的所有事情……关键是测试我的包的依赖性,确保所有东西都正确安装,并且功能将按预期运行。基本上,我担心我的包在描述中可能缺少依赖项,我不会注意到这一点,因为我的系统上已经有了所有必需的包。请参阅我的扩展答案。刚才定义了,比如说,
R\u LIBS\u USER=/tmp/libDemo/lib
,并安装到其中。谢谢德克,不幸的是,我似乎污染了我所有的标准
.libpath()
,我的
/usr/lib/R/library
是最干净的,甚至包含了Hadley的tidyverse和Bioconductor的所有基本依赖项。只需将R库基本设置到一个新的“干净”目录,然后从那里开始。或者,如果你的系统像那样一团糟,那就使用Docker,我也有点喜欢它。当然,另一种选择是像我们很多人一样,在GitHub回购中使用Travis CI。