2013-12-13 45 views
2

我需要在沒有互聯網訪問權限的Windows 7 PC上支持R環境。如何使用FTP下載R軟件包

我想下載(到DVD,最終)當前版本的所有〜5,000包,以使這個PC上的R用戶可用。

是否有FTP腳本或其他好方法來下載R包的所有zip文件?

我知道R有每日更新,但是一個美好的一天足以讓我開始。

+0

格里,如果下面的答案中的任何一個適合你,你能選擇一個作爲答案嗎?只需點擊勾號即可。謝謝! –

回答

3

大概你有一個安裝的地方可以上網。我只需設置該安裝即可下載所有內容。有一個例子在http://www.r-bloggers.com/r-package-automated-download/。啓動R,並嘗試這個辦法:

pkg.list = available.packages() 
download.packages(pkgs = pkg.list, destdir = "C:\\MyRPackages") 

一旦你有了這些文件,將它們刻錄到DVD,並採取了DVD的獨立機器,並且將其複製過來(不要忘記,以確保您的病毒保護起來到目前爲止,並且您的IT人員不會像大量磚塊一樣以這種方式傳輸數據。

接下來,您需要將獨立機器指向它們。一個簡單的方法是重新定義R在哪裏查找存儲庫。見例如例如Creating a local R package repository

在你的情況下,嘗試這樣的事情在R:

update.packages(repos="path-to-my-DVD",repos = NULL, type = "source") 
+1

太棒了!完美地工作!正是我想要的。謝謝! – Gerry

+0

@Gerry,如果你能接受這個很好的答案。只需點擊左邊的勾號即可。 –

2

使用rsync create a mirror,然後通過指向本地鏡像作爲install.packagesrepos參數安裝軟件包。無需公開存儲庫。如果只需要支持這些路徑(例如,基於/bin/windows/contrib/3.0/的rsync),就可以只檢索Windows二進制文件(到類似結構repos/bin/windows/contrib/3.0/創建的目錄)。

rsync -rtlzv --delete \ 
    cran.r-project.org::CRAN/bin/windows/contrib/3.0/ \ 
    repos/bin/windows/contrib/3.0/ 
+0

謝謝!我在Windows上,所以我需要找到一個rsync。 https://www.itefix.no/i2/content/cwrsync-free-edition的免費版本似乎工作正常 - 我現在正在下載大量的debian軟件包。所以,還有一個問題:是否有一種使用rsync來獲取Windows版本的方法?我沒有看到CRAN鏡像HOWTO頁面上的任何內容。 – Gerry

+0

我已經在我的答案中詳細闡述了一點,而不是從root根目錄rsync,而是從你有興趣提供的R版本的windows contrib目錄的根目錄開始。 –

+0

上面的第一個解決方案是完美的,所以我現在放棄這個解決方案。如果我需要保持最新版本,我可以看到這種方法的明顯優勢,但我認爲我可以每月或每季度更新一次,因此我現在使用的是內部R解決方案。 – Gerry