2013-05-21 250 views
14

出於某種原因,我突然無法在R中安裝軟件包(我已經更新到最新版本的R並運行Windows 7)。例如,如果I型:在R上安裝軟件包

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 字節

錯誤read.dcf(file.path(PKGNAME, 「說明」),C( 「包」, 「類型「)):無法打開連接另外:警告 消息:1:在解壓縮(zipname,exdir = dest) :從zip文件2中提取 時出錯1:在read.dcf(file.path(pkgname,「DESCRIPTION」), c(「Package」,「Type」)):無法打開壓縮文件 '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採用「環境變量」從識別創建幾個文件夾開始按鈕。我不知道如何刪除它們中的任何一個 - 不知道這是否與我現在因某種原因無法安裝/更新軟件包的總體問題有關。

回答

10

報告的錯誤無法打開連接。在Windows中是often a firewall problem and is in the Windows R FAQ。通常的第一次嘗試應該是運行internet2.dll。從控制檯會話,你可以使用:

setInternet2(TRUE) 

(你是在想這是不是因爲你的庫中設置正確的錯誤隻字未提權限。)我不認爲只是打字.libPaths應該返回字符矢量,因爲在我的機器上,我需要鍵入.libPaths()才能看到類似的東西。如果您想減少庫的位數,可以使用.libPaths函數來設置值。這將選擇第二個和第三個現有的路徑

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

內調用檢索路徑矢量和外呼叫它設置爲降低的載體。

2

我可能會複製大量的計算器其他的答案,但我得到了完全相同的錯誤作爲OP,即: Warning messages: 1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file 2: In read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : cannot open compressed file 'zoo/DESCRIPTION', probable reason 'No such file or directory'

橫空出世,而我作爲一個用戶有權限在一定寫目錄,R沒有。爲了確保你沒有類似的東西,做以下操作:

  1. 得到一個USB驅動器,讓我們將其命名爲é
  2. 作爲一個下載包源。zip文件,並將其存儲到在某些目錄USB驅動器,讓我們將其命名爲E:/源
  3. 的USB驅動器上的庫創建目錄,讓我們將其命名爲E:/庫
  4. 安裝包從調用R指令install.package R控制檯並設置所有相關的目錄,以指向您的USB驅動器:

    (這裏我用包動物園爲例)

    install.packages("E:/source/zoo_1.7-12.zip", 
           destdir = 'E:/source', # no "/" after the path 
           lib = 'E:/libs', 
           repos = NULL) 
    
  5. 裝入包從目錄中,在安裝它: library('zoo', lib.loc = 'E:/libs')


你肯定後,它的工作原理您的USB驅動器上這樣一來,你就可以開始解決目錄的權限,並在上面的代碼改變路徑嘗試。

更新: 在甚至是你的U盤可能會被R.免受讀寫一些Windows環境中確保您使用您從正在使用的機器檢查權限。

1

對我來說(基於上面的答案)

install.packages以下工作( 「clustvarsel」,LIB = 「C:/用戶/ dnentchev /我的程序/ R-3.2.2 /庫」)

0

以管理員身份運行RStudio爲我修復了它!