我在Windows上运行R,不是作为管理员。当我安装一个包时,下面的命令不起作用:

> install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable

要安装一个包,我必须指定一个库位置:

install.packages("zoo", lib="C:/software/Rpackages")

要加载一个包,我还必须指定库的位置:

library("zoo", lib.loc="C:/software/Rpackages")

所有这些都没问题,但我想看看是否可以将C:/software/Rpackages添加到库路径中,这样就不必每次都输入它了。

当我在网上搜索时,我发现这样做的一种方法是编辑Rprofile。站点文件并添加行

.libPaths("C:/software/Rpackages")

然而,在这样做并启动RStudio之后,这是我得到的输出

> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library" 

我添加到Rprofile的. libpaths命令。网站似乎没有任何效果!为什么会这样呢?或者更重要的是,如何解决这个问题,以便在不输入库位置的情况下安装和加载包?

注意:如果我启动RStudio, .libPaths()命令似乎可以正常工作

.libPaths("C:/software/Rpackages")
> .libPaths()
[1] "C:/software/Rpackages"               "C:/Program Files/R/R-2.15.2/library"

这不是很奇怪吗?


当前回答

我读了自述书。他们提到在命令行中使用. libpaths()来检查哪些路径存在。我之前有2个库路径。当我在我想要的地方使用命令.libpath("C:/Program Files/R/R-3.2.4revised/library")时,它改变了库路径。当我再次在命令行输入. libpaths()时,它显示了正确的路径。希望这能有所帮助

其他回答

如果你想永久地改变你的库路径(而不是每次在R中输入时调用.libPath()),这对我来说是可行的:

在你的主目录下创建。rprofile。(~ / .Rprofile) 类型 .libPaths(c(.libPaths(), "你的新路径")) 在. rprofile文件中保存。 打开R(任意目录)并检查,只需输入.libPaths(),你可以发现你的库路径更新了!

https://superuser.com/questions/749283/change-rstudio-library-path-at-home-directory

编辑~/。伦维隆

R_LIBS_USER=/some/path

在Ubuntu上,为用户更改默认库路径的推荐方法是在~/. conf中设置R_LIBS_USER变量。Renviron文件。

touch ~/.Renviron
echo "R_LIBS_USER=/custom/path/in/absolute/form" >> ~/.Renviron

如果您的默认包库在安装R的新版本或通过任何其他方式更改了,您可以在下面的命令的帮助下附加这两个库以使用所有包。 获取现有库路径:

.libPaths()

现在,设置现有路径和旧路径:

libPaths (c (libPaths()、“~ - yourOldPath”)

希望能有所帮助。

getwd()
# [1] "C:/Users/..../software/My R studio"

复制上面的链接,带两个倒置逗号

.libPaths(new="C:/Users/..../software/My R studio")

安装包的默认路径将更改