我在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"

这不是很奇怪吗?


当前回答

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

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

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

安装包的默认路径将更改

其他回答

通过将代码放在默认工作目录下的. rprofile文件中,我设法解决了这个问题。

首先,我找到了默认工作目录的位置

> getwd()
[1] "C:/Users/me/Documents"

然后,我使用文本编辑器编写了一个简单的.Rprofile文件,其中包含以下一行

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

最后,当我启动R并运行.libPaths()时,我得到了所需的输出:

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

我也遇到过同样的问题,我遇到了这个。如果你想创建另一个位置c(" c:/Users/mynewlocation")也应该可以工作。正如这里提到的“您应该能够右键单击Rstudio.exe图标,单击属性,并选择一个选项,始终以管理员身份运行Rstudio。当你想打开Rstudio时,一定要使用相同的图标。”

    myPaths <- .libPaths()   # get the paths
myPaths <- c(myPaths[2], myPaths[1])  # switch them
.libPaths(myPaths)  # reassign them

我正在调查这个问题,因为R安装到默认位置有问题,而只是将包放入临时文件夹。原来这是Mcaffee Endpoint Security的最新更新,显然r有问题。你可以在安装包时禁用威胁保护,它会正常工作。

我真的很难理解。当我上次重新安装OS & Rstudio时,gorkypl给出了正确的解决方案,但这一次,设置我的环境变量没有解决。

卸载R和Rstudio,创建目录C:\R和C:\Rstudio,然后重新安装它们。

将R_LIBS_USER用户变量定义到您的首选目录(根据gorkypl的回答),并重新启动您的机器以加载user变量。打开Rstudio,错误应该消失了。

您还可以使用Sys.setenv()将R_LIBS_USER修改为您的替代库的路径,这更容易,而且不需要重新启动您的计算机。

要查看R_LIBS_USER设置为什么: ? Sys.getenv ()

阅读帮助(启动)是有用的。

如果您没有管理员权限,打开Rprofile也会很有帮助。站点文件位于\R-3.1.0\etc,并添加:

.First <- function(){
  .libPaths("your path here")
}

这将在开始时直接计算.libPath()命令