求めない で 生きていく

なんとなく書いてみてるブログ

Rのアップデートの手順はこれがいいはず

Rのアップデートをする際、本体は、新しいバージョンのRをダウンロード/インストールしちゃえばそれで終わるんだけど、パッケージはいろいろやり方があるみたい。

 

Rの本サイトのQAにも、『それは好みだぜ』って書いてある。

 

本サイトのQAでは、

1.新しいバージョンをインストール

2.古いバージョンのlibrary配下を新しいバージョンのlibrary配下にコピー

3.Rからupdate.packages実行

を行う人が多いってのこと。だからこれでいいんだと思う。

確かにパッケージのアップデートで検索していると、

update.packagesを使っている人が多い。

 

でもupdate.packagesの引数が結構ばらばら。

 

個人的には

update.packages(dependencies = TRUE,type = "win.binary", ask = FALSE,contriburl = "https://cran.r-project.org/bin/windows/contrib/X.X/")

これが一番ベスト。

 

・dependencies = TRUE で依存関係のパッケージもアップデート

・type = "win.binary" でWindowsのものをダウンロード(これがないと、なぜかtar.gzのファイルをダウンロードしてくるものもあった。tar.gzだけバージョンが高いとそれを持ってきてしまうようだ。)

・ ask = FALSE いちいちアップデートしますか?を聞いてこない

・contriburl = "https://cran.r-project.org/bin/windows/contrib/X.X/" アップデート対象のパッケージ一覧のurlを記入。

 

contriburlを指定したほうが、どれがどのバージョンになるか把握しやすい。

また、あえて最新のRにしないときは、これを指定しないとパッケージだけ最新のにしようとして、でもRは最新じゃないからパッケージも最新にしないよーってなるパッケージもあった。

 

contriburlはそのディレクトリの@Readmeに記載のあるRのバージョンに対応しているから、そこから確認。導入するRのバージョンにあったcontriburlを指定すればちゃんと全部アップデートされると思われ。

 

 

追記:なんかどうやら、新しいパッケージがサイト上にあるのに、update.packagesをしてもひっかからないものがあるようだ。matrixパッケージとか。こうなったらlibraryフォルダと、contriburlのリストを比較しないとみつけられない。。。