Visual Studio Code + WSL + Rで、手軽にRスクリプトが書けるR開発環境を構築

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。

Visual Studio CodeでWSLに接続できるし、これでRを使えるようにしてしまえば便利なんじゃないかなと思って環境を作ってみたら、これがかなり便利だった。

言うなれば、Visual Studio Code + WSL + R環境である。

手軽にRを実行できていい感じだ。

R Studio Serverは最高のR開発環境の1つなんだけど

これまでRで何か処理するときは、自宅サーバに構築したR Studio Serverを使ってコードを書いたり実行したりしていた。

R Studio Server

R Studio Serverは超便利で、最高の環境の1つに違いないから、これで十分だったんだけど。

ただ、毎回サーバにアクセスして、ログインして、作業開始する、といった操作が若干面倒に感じることもあって、もっと手軽にR実行する環境が作れたらいいな、と思っていたのだ。1時間でログアウトされるし。またログインからかよ、もう今日はやめた、となりがちなのである (ただのものぐさ)。

WSLにRをインストール

そこで、WSLにRをインストールして、VS Codeからつなぐことでうまいことやれないか、と考えた。

そもそもWindows環境に直接RをインストールしたらWSLの話はいらないんだろうけど、私はWindows環境をあまり汚したくないから、WSLにR環境を作ってみている。

さて、WSLにRをインストールするにあたっては、UbuntuでもArch Linuxでもそれほど難しい作業ではなかった。

私の場合はWSLをArch Linuxで動かしているから、いくつかのパッケージをインストールしたくらいだ。

pacman -S base-devel gcc-fortran r

あたりをインストールしておけば、ひとまずR環境としては使い物になるか。

私はR MarkdownでPDF出力したりもしているので、日本語フォントもインストールしている。noto-fonts-cjkとか。

あと、R環境の中には、tidyverseやtinytexといったR Markdownをご機嫌に実行するためのパッケージや、Visual Studio Codeで使うlanguageserverをインストールしている。

install.packages("tidyverse")
install.packages("tinytex")
install.packages("languageserver")

あとは、Quartoもそのうち使えるようになりたいので、ついでにインストールしている。これはArch LinuxならAURから quarto-cli-bin をインストールすれば使えた。なお、AURを利用するためにyayも入れている。

ぶっちゃけ、他にも入れたものはあるかもしれないんだけど、細かいところは忘れてしまった。概ね上記のようなものをインストールし、必要に応じてWSLやRにパッケージをインストールしていった。

Visual Studio CodeからWSLにつなぐ

Visual Studio CodeからWSLに接続し、適当なディレクトリを開く。Rスクリプトを書いたファイルを保存したり、実行したりするディレクトリだ。

また、VS Codeにはプラグインをインストールする。その名も「R」だ。作成者はREditorSupport。

ここまでできたら、あとは test.R とかいうファイルを作って、Rスクリプトを書き込もう。

1行ずつ実行するなら Ctrl + Enter で実行できるし、ファイル全部を実行するなら、テキスト部分の右上に出てくる再生ボタン (右向き三角形)を押すといい。

Rプラグインをインストールすると、画面の左端のアイコンの中にRのアイコンが出てくるので、そのビューを開くと、コードで作った変数などが一覧されるし (Global Environment以下)、その内容も見ることができる。本当に思った形にデータが作れたかな?とか確認するときに便利。

R Markdownでレポート作成することもできる。report.Rmdとかいうファイルを作って、文頭に正しくR Markdownのメタ情報 (YAML)を書いておけば、右上の再生ボタンでKnitを実行し、htmlなりPDFなり、指定したものを作ってくれる。

また、プラグインの「Quarto」 (作成者 Quarto)を入れておくと、quartoによる文書作成も実行できる。便利。

R Studioと比較して

Visual Studio Codeで作ったR開発環境を、R Studioと比較すると、流石にR Studioの方がこなれていると思う。流石に何年も前に開発され、維持され続けているだけはある。

とはいえ、ちょっとRスクリプトを書いて動かすというのであれば、Visual Studio Codeの方が手軽にできる感じがする。

R開発環境といえばR Studioなんだろうけど、こうして環境を作ってしまえば、Visual Studio Codeも捨てたもんじゃないと思う。むしろ、やるなこいつ、くらいに思っている。

おわりに

R Studio以外のR開発環境を求め、Visual Studio CodeによるR開発環境を構築してみた。

WSLにR環境を構築し、Visual Studio Codeから接続してやることで実現している。

手軽にRを試せるいい環境が作れたな、と思っていて、今後も重宝しそうだ。

なお、この形は何気に汎用性が高くて、WSL (要はLinux)で環境構築できるものは、ほぼVisual Studio Codeを使って開発ができるということだ。

試しにWSLでRustの開発環境を作ってやったら、同じようにVisual Studio CodeでRust開発が快適にできるようになった。これはJavaでもPythonでも、Node.jsでも同じだ。

IDE (統合開発環境)はIntelliJなど優秀なものが多いが、どうしてもリッチになるほど起動するのが億劫になってしまうので、その点、Visual Studio Codeでサクッと動かせるというのが個人的には気に入っている。

学術活動心理学

Posted by junchan