2013-06-19 235 views
1

我的機構使用代理服務器,沒有人能夠以通常的方式安裝包。 (即從CRAN下載二進制文件,然後選擇Mirro和安裝等)。R包的脫機安裝

如果我在我的研究所以外使用互聯網,我可以安裝軟件包。

所以,我正在尋找一種離線方式來安裝軟件包。請提供詳細的解決方案,我一直在使用R.

剛開始寫這個問題我沒有看這個剛纔問的問題,但不明白它已經在這裏使用的術語之前(他們都非常直接的)。我是新手,請給我一個詳細的解決方案。 Offline install of R package and dependencies

幫助纔會真正理解。我真的被困在這裏。我無法做任何事情。

謝謝。

+0

所以......你不能在所有訪問互聯網?因爲即使使用代理,您仍應該可以使用您的Web瀏覽器從CRAN下載二進制文件,並將其解壓縮。 –

+1

對於鏈接問題的答案有哪些不明確的地方? – Roland

+0

您可以使用始終爲正常郵件和inet打開的端口81。其次,您可以從R網站或bioconductor下載zip文件。而不是使用install.packages(c(pack1,pack2,pack3))安裝它們需要完整的zip名稱! –

回答

8

這是我的工作。可能對你也有幫助。

理念:通過互聯網下載封裝,它們的依賴並安裝軟件包下線。

# Set Mirror to download packages  
options(repos=structure(c(CRAN="http://cran.ma.imperial.ac.uk/"))) 

# Set Working Directory 
    setwd(file.path(
     "D:" 
     , "User" 
     , "DownloadingPackagesWithDependencies" 
    ) 
    ) 


getPackages <- function(packs){ 
    packages <- unlist(
     tools::package_dependencies(
      packs 
     , available.packages() 
     , which=c("Depends", "Imports") 
     , recursive=TRUE 
     ) 
    ) 
    packages <- union(packs, packages) 
    packages 
    } 

# Specify Packages to Download with their dependencies also 
Packages <- getPackages(
       c(
        "ggplot2" 
       ) 
       ) 


download.packages(
    pkgs=Packages 
    , destdir=getwd() 
    , type="source") 

# Install packages from local drive 
    install.packages(
     pkgs="ggplot2_0.9.3.1.tar.gz" 
     , repos = NULL 
     , type="source" 
     )