#はじめに
どうもこんにちは。
つい最近、Rの勉強をし始めた者です。わからないことだらけなので毎回毎回ネットで調べているのですが、バラバラと知識を入れているのですぐに忘れてしまう始末。
ということで、自分の備忘も兼ねて、Qiitaに記事を書いてみようかなと思いました。
#R本体のバージョンアップを行おう
##自身の環境
何の気なしに本家Rのサイトを見てみたら、最新バージョンが3.4.4なのに気づいた。
自分の環境を確認してみると3.4.3。
> R.version
_
platform i386-w64-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 3
minor 4.3
year 2017
month 11
day 30
svn rev 73796
language R
version.string R version 3.4.3 (2017-11-30)
nickname Kite-Eating Tree
確か、前バージョンアップしたときは、Rstudioから何かのコマンドで行ったなーと思い、その方法を再度試すことに。
手順は、こちらのサイト(http://hikaru1122.hatenadiary.jp/entry/2015/07/26/003000)を参考にさせて頂きました。
##バージョンアップ手順
ブログの内容通り、コードを実行します。
> library(installr)
要求されたパッケージ stringr をロード中です
Welcome to installr version 0.19.0
More information is available on the installr project website:
https://github.com/talgalili/installr/
Contact: <tal.galili@gmail.com>
Suggestions and bug-reports can be submitted at: https://github.com/talgalili/installr/issues
To suppress this message use:
suppressPackageStartupMessages(library(installr))
> updateR()
updateR()
を実行した後、約6分ぐらい応答無し。怖い。。
最新バージョンが出たのは調度一ヶ月くらい前だったんですね、意外と最近。
というわけで、「OK」ぽちー。
またなんか出た。
バージョン情報を見ますか?ということなので、とりあえず「はい」をぽちー。
最新バージョンをインストールしますか?モチのロン!
と思っていたら「RGuiからやるのがベストだけど、ホントに実行する?」と言われてしまいました。参考元サイトと同じです。。
念の為、RGuiから実行しようと思い、「はい」をぽちー。
コンソール上は処理が中止されました。
> updateR()
[1] FALSE
##RGuiからバージョンアップを実行する。
手順としては変わらず、パッケージ読み込んでから、updateRを実行します。
updateRの引数をしていしていないので、ダイアログがちょこちょこ出てきます。
「デスクトップ上にアイコンを作成する」だけチェックを外し、「次へ」
「完了」を押すと、パッケージのコピーを行うかい?と聞かれるので、ここも迷わず「はい」!
キャプチャー取り忘れましたが、このあと「古いパッケージは消す?残す?」と聞かれました。念の為「消さない」を選択します。
コンソール上は、下記のコードが表示されます。
> updateR()
Installing the newest version of R,
please wait for the installer file to be download and executed.
Be sure to click 'next' as needed...
URL 'https://cran.rstudio.com/bin/windows/base/R-3.4.4-win.exe' を試しています
Content type 'application/x-msdos-program' length 82455692 bytes (78.6 MB)
downloaded 78.6 MB
The file was downloaded successfully into:
D:\Users\HD08EB~1.TAS\AppData\Local\Temp\Rtmp6Reiwi/R-3.4.4-win.exe
Running the installer now...
Installation status: TRUE . Removing the file:
D:\Users\HD08EB~1.TAS\AppData\Local\Temp\Rtmp6Reiwi/R-3.4.4-win.exe
(In the future, you may keep the file by setting keep_install_file=TRUE)
-----------------------
I am now copying 200 packages from: C:/PROGRA~1/R/R-3.4.3/library ; into: C:/PROGRA~1/R/R-3.4.4/library-----------------------
パッケージのコピー時間が異様に長く、「これ、フリーズしてるのか?」と途中で思いましたが、大体6分くらいでコピー完了。
お次はこれ。「Rprofile.siteをコピーするかい?」と聞かれました。なんだかよくわからないけど、コピーしてくれるならシクヨロ頼むよ、ということで「はい」。
「新しくインストールしたRのパッケージも更新する?」ってことなので、一緒にやってもらいました「はい」ぽち。
パッケージの更新は大体8分位かかりました。それが終わると、「新しいバージョンのRを起動しますか?」と聞かれます。せっかくなので、「はい」
起動しました~。
始めと同じ様に、バージョンの確認をしてみます。
> R.version
_
platform i386-w64-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 3
minor 4.4
year 2018
month 03
day 15
svn rev 74408
language R
version.string R version 3.4.4 (2018-03-15)
nickname Someone to Lean On
無事に、3.4.4にバージョンアップされていることが確認できました!やったね!
##RStudioからだと最新になっていない!!
さっきのコマンドはRGuiから行ったものですが、試しにRStudioを再起動して同じコマンドを打つと、なぜか3.4.3と古いものになっていました。
> R.version
_
platform i386-w64-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 3
minor 4.3
year 2017
month 11
day 30
svn rev 73796
language R
version.string R version 3.4.3 (2017-11-30)
nickname Kite-Eating Tree
メニュー内を色々と見ていたら、Global options内に変更箇所を見つけました。
先程インストールした最新の3.4.4を選択し「OK」。
その後、RStudioを再起動してあげます。
##やっとできた!
RStudioでバージョン確認すると、最新の3.4.4になっていることが確認できました。
> R.version
_
platform i386-w64-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 3
minor 4.4
year 2018
month 03
day 15
svn rev 74408
language R
version.string R version 3.4.4 (2018-03-15)
nickname Someone to Lean On
##スクリプトが文字化けした
バージョンアップの翌日、気づいたら過去作成したスクリプトが文字化けしていた。
コンソールには、こんなエラーメッセージ。
Not all characters in D:/Users/mashio/Documents/R/hogehoge.R
could be decoded using CP932. To try a different encoding,
choose "File | Reopen with Encoding..." from the main menu.
「スクリプトファイルの全ての文字がCP932を使用して解読できてないよ。別のエンコーディング試すには、「File | Reopen with Encoding」を試してね」、とのこと。
早速いじってみる。
ちなみに、デフォルトのエンコードを変更するには、「Tools→Global options→Code→Saving」でした。
#おわりに
バージョンアップ作業はめったにやらないので、コードの書き方よりも忘れがち。次回は自分のこの記事を見ながら行います!