在R中安装软件包

18

由于某种原因,我突然无法在R中安装包(我随后更新到了最新版本的R,并且正在运行Windows 7)。例如,如果我输入:

install.packages('beeswarm')
安装包到 'D:/Rlibs'(因未指定 'lib')--- 请为此会话选择一个CRAN镜像 --- 尝试 URL 'http://www.stats.bris.ac.uk/R/bin/windows/contrib/3.0/beeswarm_0.1.5.zip',内容类型“text/html”的长度未知,打开URL下载了1859字节。
读取文件夹中的“DESCRIPTION”文件时出错,错误信息为“cannot open the connection”,另外还有警告消息:“在解压缩zip文件时出现错误。可能无法打开压缩文件'beeswarm/DESCRIPTION',出现这种情况的可能原因是'文件或目录不存在'”。
我已经阅读过在Windows 7中有可能对某些文件夹写入权限存在重要限制,因此我费了一些力气将R和库文件夹安装在计算机的非默认区域,并允许自己访问某些文件夹,但结果仍然不行。当我输入以下命令时,也可能很重要:
.libPaths()

# [1] "D:/Rlibs"                                             
# [2] "C:/Users/L.Halsey/Documents/R/win-library/3.0"        
# [3] "C:/Users/L.Halsey/Documents/Documents/R-3.0.1/library"

我试图创建多个文件夹,以创建一个可以成功安装库并使用“环境变量”从开始按钮设置它们被R识别的文件夹。然而,我不知道如何删除它们 - 不确定这是否与我现在无法安装/更新软件包的总体问题相关。

5个回答

10

报告的错误是无法打开连接。在Windows中,这通常是防火墙问题,可以在Windows R FAQ中找到相关解决方案(传送门)。通常的第一次尝试应该是运行internet2.dll。如果您使用控制台会话,则可以使用以下命令:

setInternet2(TRUE)

你想得没错,这不是由于你的库设置引起的。错误信息没有提到权限。

我认为仅键入.libPaths不应该返回那个字符向量,因为在我的机器上,我需要键入.libPaths()才能看到类似的结果。如果您想减少库的位置数量,可以使用.libPaths函数来设置值。 这将选择现有路径的第二个和第三个路径。

 .libPaths( .libPaths()[2:3] )

内部调用检索路径向量,外部调用将其设置为缩小向量。


7

以管理员身份运行RStudio解决了我的问题!


3
我可能会重复一些其他stackoverflow答案的内容,但是我遇到了与OP完全相同的错误,即: 警告信息:1:在解压缩zip文件时出现错误,错误代码为1。2:在读取.dcf文件时出现错误,无法打开压缩文件“zoo/DESCRIPTION”,可能原因是“没有这个文件或目录” 事实证明,虽然我作为用户有权限在某个目录中写入,但R没有。为了确保您没有类似的问题,请执行以下操作:
  1. get a usb drive, let's name it E
  2. download package source as a .zip file and store it onto usb-drive in some directory, let's name it E:/source
  3. Create directory for libraries on the usb drive, let's name it E:/libs
  4. Install packages calling R command install.package from the R console and setting all relevant directories to point to your usb drive:

    (here I use package zoo as an example)

    install.packages("E:/source/zoo_1.7-12.zip", 
                     destdir = 'E:/source',  # no "/" after the path
                     lib = 'E:/libs', 
                     repos = NULL)
    
  5. Load the package from the directory, where you installed it: library('zoo', lib.loc = 'E:/libs')


在确认您的USB驱动器上已经成功运行后,您可以开始解决目录权限问题,并尝试通过更改上述代码中的路径来进行测试。

更新: ��某些Windows环境下,甚至您的USB闪存可能会受到R的读写保护。请确保使用您正在工作的计算机检查权限。


2
以下内容对我有用(基于上面的答案)。
install.packages("clustvarsel", lib = "C:/Users/dnentchev/My Programs/R-3.2.2/library")

-2

我曾经遇到过同样的问题。我关闭了Windows防火墙,并以管理员身份运行RStudio。这样,错误就被解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接