R Advent Calendar 2020-6日目の記事です。
本記事は、すでにRを始めている方にとって真新しい内容はほとんど含んでいません。
ちょっとR始めてみようかな。linuxがいいらしいけど、敷居が高そうなんでできればwindows10で……という方への簡単な紹介記事です。
はじめに
R言語は統計処理やグラフ作成に特化したプログラム言語のひとつである。linux、MacOSなどいわゆるunix-likeOSの下で他のツールとの連携を取りながら利用することを推奨したいところだが、エクセルやパワーポイントとの連携を考えるなら、Windows10での利用もそれはそれで立派な選択肢である。
しかし、WindowsでRを使うにあたってはwindows特有の落とし穴があって、これを回避しなければならない。しかるに、teratailでのQAを見ると、結構多くの人がその回避に失敗し、同じようなところでハマっているようだ。
そうした状況を踏まえ、ここでひとつ「windowsの基本的なことは分かっているがRについては初心者」といった層に向け、最低限の操作ができるまでのセットアップ手順を纏めておきたい。
なお、Rの実行環境としてはRstudioというものがよく知られている。だが、ここではシンプルに本体付随のRguiのみを使って作業を進めることにする。
作業用ディレクトリの確保
まず言っておかねばならないことがある。
落とし穴1: Rをまともに使いたければ日本語やスペースを含むディレクトリの下では絶対作業してはいけない。
windowsでの標準的な作業場所は、おそらく多くの場合c:\ユーザー\山田 太郎
とかになっているだろう。その下にR本体やスクリプトを配置するのは全くケガの元である。これがおそらく最初に回避すべき落とし穴である。作業ディレクトリはc:\rworks
とかにしよう。よいこのみんな、おにいさんとのやくそくだ!
R本体のインストール
まずは、公式ダウンロードサイトからwindows10用インストーラのリンクを探そう。
これを書いている2020年10月26日現在、Rの最新版はR-4.0.3で、普通にリンクを辿ればこのバージョンのRのインストールに誘導される。基本的にはおとなしく流れに沿ってできるだけ新しいバージョンを使うようにしよう。
インストールの作業手順自体はごく標準的なので、迷う余地は少ないだろう。ダウンロードしてきたインストーラを起動して言いなりに作業するだけである。
無事終了したらスタートボタンをクリックして、確かにメニューの中にRが追加されていることを確認しよう。そして、クリックしてRguiなるものが起動することを確かめよう。
なにやらコンソールが一つ現れるはずだ。そこでsessionInfo()
と入力してみよう。
Rがどういう環境で動いていて、どのようなパッケージが利用可能となっているかが、一堂に表示されるはずだ。
なお、このsessionInfoの情報はQAサイトなどで質問する際の必須提示要素だと思ってほしい。なぜかteratailでは全く見かけないが、その道のプロが使うサイトでこの情報提示を怠ったらクソミソに突っ込みを入れられることになるだろう。
Rtoolsのインストール
R本体だけでも最低限の「計算」はできるが、今後実務に本格的に取り組もうとするなら、それぞれの目的に沿った拡張モジュール(Rの世界ではこれを「パッケージ」と呼ぶ)を随時追加導入していくことになる。それに先立ち、補助ツールを一つインストールしておきたい。
それがRtoolsである。
落とし穴2: パッケージの導入前に、Rtoolsを確認すること
windows下のRにおいてパッケージを新規導入する際には、「ソースから実行ファイルをビルド」という作業が必要になることがある。その際にこのRtoolsが必須なのである。
パッケージのインストール
最低でもtidyverse, Rcmdrは導入しよう。
ただし、今後、使用を欲するライブラリによっては古いバージョンでないとまともに動かないというものが出てくるかもしれない。そういう場合はprevious releaseの中から成功実績のある古いバージョンを追加インストールしなければならない。Rの実行ファイル・ライブラリはバージョンごとに別ディレクトリの下に配置されるので、複数バージョン共存可能である(利用時に混在利用しないよう注意)。
支援ツールを揃える
Rを使えば「計算」ができ「グラフ」が作れる。だが、仕事がその範囲内だけで完結することは稀だろう。おそらく最低でも次のようなツールを別途揃える必要がある。
- エディタ:スクリプトを書き推敲する
- テキスト処理ツール:データの前処理を効率的にこなす
- 画像加工用ツール:グラフを最終製品(ウェブページやポスターや冊子)に入れ込むためにサイズや色調やもろもろを整える
エディタ
文書の推敲にも使える汎用タイプのエディタもいいが、前処理のことを考えると、バッチファイル・シェルスクリプトやperlスクリプトの作成にも便利な機能を備えた、プログラミング目的に特化したエディタを一つ持っておきたい。コマンドや関数を補完入力してくれたり、シンタックスエラーをその場で指摘してくれたりするので、作業効率を大いに向上させられる。
私が最近よく使っているのはKomodo Editである。Rだけ考えるとベストと言えるか疑問の余地があるが、perlには便利だ。また、HTMLやCSSの入力ツールとしても快適に使える。
[2024年2月7日追記]今では人並みにVisual Studio Codeに乗り換えた。ただ、コードの打ち込みに限れば、軽くて起動が早いterapadも捨てがたい。
テキスト処理ツール
より高度な作業をしたいなら、Rだけにこだわってはいけない。QAサイトやハウツーサイトや教科書に書いてあるRの使い方がすべてだと思ってはいけない。実際のところ、いちばん引っかかり時間を食うのは前処理、つまりRそのものでの作業ではなく、Rに与えられる形にデータを整えるステップである。Unix-like OSにはそういう目的に使えるテキスト処理用のツールが豊富に用意されている。windowsにはそれらは標準では用意されていないが、しかるべき手順で、それらのツールをwindows上でも利用できるようになる。
[2024年2月7日更新]今ならイチモニもなくWSL2を導入すべきである。その手順は極めてシンプルである。Microsoft Storeに行ってインストーラーを入手しよう。あとは本当にあっというまに完了させられるはずだ。何らかの特殊事情でWSL2が使えない場合に限り、次の段落を参考にしてほしい。
具体的には次のような処理系のインストールを検討しよう。
- NSYS2 -- UNIX-OS系の各種ツールをwindows10のコマンドプロンプトから使えるようにしたパッケージ。
- Strawberry perl -- windows上で動くperl。もう一つActivePerlというのも有名だが、strawoberryの方が使い勝手はlinux上のバージョンに近い。
- busybox -- 基礎的なテキスト処理系ツール(だけに限らないが)の機能を一つの実行ファイルの中に押し込んだもの。たった一つのファイルをPATHの引かれたディレクトリーに置くだけで使えるようになる手軽さが身上。MSYS2に行く前にとりあえずこれで様子見するのもいいだろう。
画像加工用ツール
最終的にレポートやポスターやウェブページに組み込むに当たって、Rが吐き出した画像ファイルのサイズを揃えたり、ファイル形式を変換したり、色調を修正したりといった作業が必要になる。そうした調整は出力時にRのplot関数のオプションなどである程度対応できなくもないが、画像処理用の専用ツールを使う方が圧倒的に楽である。
- GIMP
- XnView
- ImageMagick
[2024年2月7日追記]なお、最近のマイクロソフトオフィスはSVGデータを取り込み編集できる。Rからグラフをインポートする場合は出力先にSVGファイルを選ぶと、手間が省けるかもしれない。
おわりに
以上、初心者が良く嵌っている感のある「落とし穴」を中心に、最低限これはやっておこうというポイントを書いてみた。
初心者の方にとって、ひとつでもヒントを提供できれば幸いだ。健闘を祈る。