6
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Organization

RStudio の Connections タブに忘れがちな典型コードを登録する

1. はじめに

2017/10/09 に RStudio 1.1 がリリースされました。

新しいバージョンの新機能として、ワンタッチでデータベースに接続できる Connections タブが実装されました。

Connections タブは、データベース接続を行うRコードを登録しておくことにより、ワンタッチでコネクションオブジェクトを作成できるようになるという、非常に便利な機能です。
この Connections タブですが、データベース接続に限らず、任意のコードを登録できるという裏技があります。
本記事では、この裏技を使って Connections タブに忘れがちな典型コードを登録する方法を紹介します。

2. Connections タブ

Connections タブというのは、新しい RStudio の右上のほうに現れるこれです。

ここに登録されたデータベース接続の一覧が表示され、ワンタッチで接続できるようになります。
また、Connections タブの左上には「New Connection」というボタンがあり、これによりコネクションスニペットを実行することができます。

3. コネクションスニペットの登録

コネクションスニペットに登録するには、/etc/rstudio/connections/ にスニペットを書いたファイルを置くだけです。
本当はここにデータベース接続のコードを登録するのですが、実際は任意のコードを登録できます。
例えば、Mac では ggplot2 で日本語を含むグラフを書くとき、次のように Font Family の指定を行う必要があります。

setup_ggplot2.R
library(ggplot2)
theme_set(theme_bw(base_family = "HiraKakuProN-W3"))

しかし、Font Family の名前は覚えにくいため、毎回ググって実行しているのが現状です。
なので、このコードを setup_ggplot2.R というファイルとして /etc/rstudio/connections/ の下に保存します。
これだけで、Connections タブの「New Connection」をクリックすると次のように setup_ggplot2 という選択肢が現れます。

これをクリックすると、先ほど書いたコードがスニペットとして登録されています。

あとは OK を押すだけで、ここに登録されたコードを実行することができます。

4. スニペットに変数を使う

登録するコードスニペット内で ${Position:Label=Default} という風に書くことで変数が使えます。
例えば、上の例で Font Family を変数にしたい場合は次のように書きます。

setup_ggplot2.R
library(ggplot2)
theme_set(theme_bw(base_family = "${0:Font Family=HiraKakuProN-W3}"))

これにより「New Connection」は次のように変わります。

こうすることで Font Family を自由に書き換えて実行することができます。
例えばシーンに合わせて HiraKakuProN-W6 にするなどができるようになります。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
6
Help us understand the problem. What are the problem?